[NUI][API10] Change property get/set not to use PropertyValue (patch set5)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Visuals / VisualConstants.cs
1 // Copyright (c) 2019 Samsung Electronics Co., Ltd.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 using System.ComponentModel;
16
17 namespace Tizen.NUI
18 {
19     /// <summary>
20     /// Specifies the release policy types.<br />
21     /// Decides if the image should be cached in different conditions.
22     /// </summary>
23     /// <since_tizen> 5 </since_tizen>
24     public enum ReleasePolicyType
25     {
26         /// <summary>
27         /// Image is released when visual detached from scene.
28         /// </summary>
29         Detached = 0,
30         /// <summary>
31         /// Image is only released when visual is destroyed.
32         /// </summary>
33         Destroyed,
34         /// <summary>
35         /// Image is not released.
36         /// </summary>
37         Never
38     }
39
40     /// <summary>
41     /// Specifies the load policy types.<br />
42     /// Decides when the image texture should be loaded.
43     /// </summary>
44     /// <since_tizen> 5 </since_tizen>
45     public enum LoadPolicyType
46     {
47         /// <summary>
48         /// Load texture once the image source has been provided. Even if not being used yet.
49         /// </summary>
50         Immediate = 0,
51         /// <summary>
52         /// Only load texture once the visual is attached, when the image needs to be shown.
53         /// </summary>
54         Attached
55     }
56
57     /// <summary>
58     /// Enumeration for the horizontal alignment of objects such as texts and layout items.
59     /// </summary>
60     /// <since_tizen> 3 </since_tizen>
61     public enum HorizontalAlignment
62     {
63         /// <summary>
64         /// Objects are placed at the beginning of the horizontal direction.
65         /// </summary>
66         [Description("BEGIN")]
67         Begin,
68         /// <summary>
69         /// Objects are placed at the center of the horizontal direction.
70         /// </summary>
71         [Description("CENTER")]
72         Center,
73         /// <summary>
74         /// Objects are placed at the end of the horizontal direction.
75         /// </summary>
76         [Description("END")]
77         End
78     }
79
80     /// <summary>
81     /// Enumeration for the vertical alignment of objects such as texts and layout items.
82     /// </summary>
83     /// <since_tizen> 3 </since_tizen>
84     public enum VerticalAlignment
85     {
86         /// <summary>
87         /// Objects are placed at the top of the vertical direction.
88         /// </summary>
89         [Description("TOP")]
90         Top,
91         /// <summary>
92         /// Objects are placed at the center of the vertical direction.
93         /// </summary>
94         [Description("CENTER")]
95         Center,
96         /// <summary>
97         /// Objects are placed at the bottom of the vertical direction.
98         /// </summary>
99         [Description("BOTTOM")]
100         Bottom
101     }
102
103     /// <summary>
104     /// This specifies wrap mode types.<br />
105     /// 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.
106     /// </summary>
107     /// <since_tizen> 3 </since_tizen>
108     public enum WrapModeType
109     {
110         /// <summary>
111         /// The default value.
112         /// </summary>
113         Default = 0,
114         /// <summary>
115         /// Clamp to edge.
116         /// </summary>
117         ClampToEdge,
118         /// <summary>
119         /// Repeat.
120         /// </summary>
121         Repeat,
122         /// <summary>
123         /// Mirrored repeat.
124         /// </summary>
125         MirroredRepeat
126     }
127
128     /// <summary>
129     /// This specifies fitting mode types. Fitting options, used when resizing images to fit desired dimensions.<br />
130     /// A fitting mode controls the region of a loaded image to be mapped to the desired image rectangle.<br />
131     /// All fitting modes preserve the aspect ratio of the image contents.<br />
132     /// </summary>
133     /// <since_tizen> 3 </since_tizen>
134     public enum FittingModeType
135     {
136         /// <summary>
137         /// Full-screen image display: Limit loaded image resolution to device resolution using the ShrinkToFit mode.
138         /// </summary>
139         ShrinkToFit,
140         /// <summary>
141         /// Thumbnail gallery grid: Limit loaded image resolution to screen tile using the ScaleToFill mode.
142         /// </summary>
143         ScaleToFill,
144         /// <summary>
145         /// Image columns: Limit loaded image resolution to column width using the FitWidth mode.
146         /// </summary>
147         FitWidth,
148         /// <summary>
149         /// Image rows: Limit loaded image resolution to row height using the FitHeight mode.
150         /// </summary>
151         FitHeight,
152         /// <summary>
153         /// Image displayed in its original size (no scaling) using the Center mode.
154         /// </summary>
155         [EditorBrowsable(EditorBrowsableState.Never)]
156         Center,
157         /// <summary>
158         /// Image stretched to fill the desired area (aspect ratio could be changed) using the Fill mode.
159         /// </summary>
160         [EditorBrowsable(EditorBrowsableState.Never)]
161         Fill
162     }
163
164     /// <summary>
165     /// This specifies sampling mode types. Filtering options are used when resizing images to sample original pixels.<br />
166     /// A SamplingMode controls how pixels in an input image are sampled and combined to generate each pixel of a destination image during scaling.<br />
167     /// NoFilter and Box modes do not guarantee that the output pixel array exactly matches the rectangle specified by the desired dimensions and the FittingMode,<br />
168     /// but all other filter modes do if the desired dimensions are not more than the raw dimensions of the input image file.<br />
169     /// </summary>
170     /// <since_tizen> 3 </since_tizen>
171     public enum SamplingModeType
172     {
173         /// <summary>
174         /// Iteratively box filter to generate an image of 1/2, 1/4, 1/8, etc. width and height and approximately the desired size. <br />
175         /// This is the default.
176         /// </summary>
177         Box,
178         /// <summary>
179         /// For each output pixel, read one input pixel.
180         /// </summary>
181         Nearest,
182         /// <summary>
183         /// For each output pixel, read a quad of four input pixels and write a weighted average of them.
184         /// </summary>
185         Linear,
186         /// <summary>
187         /// Iteratively box filter to generate an image of 1/2, 1/4, 1/8, etc. width and height and approximately the desired size, <br />
188         /// then for each output pixel, read one pixel from the last level of box filtering.<br />
189         /// </summary>
190         BoxThenNearest,
191         /// <summary>
192         /// 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.
193         /// </summary>
194         BoxThenLinear,
195         /// <summary>
196         /// 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.
197         /// </summary>
198         NoFilter,
199         /// <summary>
200         /// For caching algorithms where a client strongly prefers a cache-hit to reuse a cached image.
201         /// </summary>
202         DontCare
203     }
204
205     /// <summary>
206     /// The type of coordinate system for certain attributes of the points in a gradient.
207     /// </summary>
208     /// <since_tizen> 3 </since_tizen>
209     public enum GradientVisualUnitsType
210     {
211         /// <summary>
212         /// Uses the normals for the start, end, and center points, i.e., top-left is (-0.5, -0.5) and bottom-right is (0.5, 0.5).
213         /// </summary>
214         ObjectBoundingBox,
215         /// <summary>
216         /// Uses the user coordinates for the start, end, and center points, i.e., in a 200 by 200 control, top-left is (0, 0) and bottom-right is (200, 200).
217         /// </summary>
218         UserSpace
219     }
220
221     /// <summary>
222     /// This specifies SpreadMethod types.<br />
223     /// SpreadMethod defines what happens if the gradient starts or ends inside the bounds of the target rectangle.<br />
224     /// </summary>
225     /// <since_tizen> 3 </since_tizen>
226     public enum GradientVisualSpreadMethodType
227     {
228         /// <summary>
229         /// Uses the terminal colors of the gradient to fill the remainder of the quad.
230         /// </summary>
231         Pad,
232         /// <summary>
233         /// Reflects the gradient pattern start-to-end, end-to-start, start-to-end, etc. until the quad is filled.
234         /// </summary>
235         Reflect,
236         /// <summary>
237         /// Repeats the gradient pattern start-to-end, start-to-end, start-to-end, etc. until the quad is filled.
238         /// </summary>
239         Repeat
240     }
241
242     /// <summary>
243     /// The shading mode used by the mesh visual.
244     /// </summary>
245     /// <since_tizen> 3 </since_tizen>
246     public enum MeshVisualShadingModeValue
247     {
248         /// <summary>
249         /// *Simplest*. One color that is lit by ambient and diffuse lighting.
250         /// </summary>
251         TexturelessWithDiffuseLighting,
252         /// <summary>
253         /// Uses only the visual image textures provided with specular lighting in addition to ambient and diffuse lighting.
254         /// </summary>
255         TexturedWithSpecularLighting,
256         /// <summary>
257         /// Uses all textures provided including gloss, normal, and texture map along with specular, ambient, and diffuse lighting.
258         /// </summary>
259         TexturedWithDetailedSpecularLighting
260     }
261
262     /// <summary>
263     /// The primitive shape to render as a primitive visual.
264     /// </summary>
265     /// <since_tizen> 3 </since_tizen>
266     public enum PrimitiveVisualShapeType
267     {
268         /// <summary>
269         /// A perfectly round geometrical object in the three-dimensional space.
270         /// </summary>
271         Sphere,
272         /// <summary>
273         /// The area bound between two circles, i.e., a cone with the tip removed.
274         /// </summary>
275         ConicalFrustrum,
276         /// <summary>
277         /// Equivalent to a conical frustum with the top radius of zero.
278         /// </summary>Equivalent to a conical frustum with the top radius of zero.
279         Cone,
280         /// <summary>
281         /// Equivalent to a conical frustum with the top radius of zero.
282         /// </summary>
283         Cylinder,
284         /// <summary>
285         /// Equivalent to a conical frustum with equal radii for the top and bottom circles.
286         /// </summary>
287         Cube,
288         /// <summary>
289         /// Equivalent to a bevelled cube with a bevel percentage of zero.
290         /// </summary>
291         Octahedron,
292         /// <summary>
293         /// Equivalent to a bevelled cube with a bevel percentage of one.
294         /// </summary>
295         BevelledCube
296     }
297
298     /// <summary>
299     /// The values of this enum determine how the visual should fit into the view.
300     /// </summary>
301     /// <since_tizen> 5 </since_tizen>
302     public enum VisualFittingModeType
303     {
304         /// <summary>
305         /// The visual should be scaled to fit, preserving aspect ratio.
306         /// </summary>
307         FitKeepAspectRatio,
308         /// <summary>
309         /// The visual should be stretched to fill, not preserving aspect ratio.
310         /// </summary>
311         Fill,
312         /// <summary>
313         /// The visual should be scaled to fit, preserving aspect ratio. The visual will be filled without empty area, and outside is cropped away.
314         /// </summary>
315         [EditorBrowsable(EditorBrowsableState.Never)]
316         OverFitKeepAspectRatio,
317         /// <summary>
318         /// The visual should keep original size of image. it is not scaled and not stretched.
319         /// </summary>
320         [EditorBrowsable(EditorBrowsableState.Never)]
321         Center,
322         /// <summary>
323         /// The visual should be scaled to fit, preserving aspect ratio. Height is scaled proportionately to maintain aspect ratio.
324         /// </summary>
325         [EditorBrowsable(EditorBrowsableState.Never)]
326         FitHeight,
327         /// <summary>
328         /// The visual should be scaled to fit, preserving aspect ratio. WIDTH is scaled proportionately to maintain aspect ratio.
329         /// </summary>
330         [EditorBrowsable(EditorBrowsableState.Never)]
331         FitWidth,
332     }
333
334     /// <summary>
335     /// This specifies policy types that could be used by the transform for the offset or size.
336     /// </summary>
337     /// <since_tizen> 3 </since_tizen>
338     public enum VisualTransformPolicyType
339     {
340         /// <summary>
341         /// Relative to the control (percentage [0.0f to 1.0f] of the control).
342         /// </summary>
343         Relative = 0,
344         /// <summary>
345         /// Absolute value in world units.
346         /// </summary>
347         Absolute = 1
348     }
349
350     /// <summary>
351     /// This specifies all the transform property types.
352     /// </summary>
353     /// <since_tizen> 3 </since_tizen>
354     public enum VisualTransformPropertyType
355     {
356         /// <summary>
357         /// Offset of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units).
358         /// </summary>
359         Offset,
360         /// <summary>
361         /// Size of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units).
362         /// </summary>
363         Size,
364         /// <summary>
365         /// The origin of the visual within its control area.
366         /// </summary>
367         Origin,
368         /// <summary>
369         /// The anchor-point of the visual.
370         /// </summary>
371         AnchorPoint,
372         /// <summary>
373         /// Whether the x or y offset values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units).
374         /// </summary>
375         OffsetPolicy,
376         /// <summary>
377         /// Whether the width or the height size values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units).
378         /// </summary>
379         SizePolicy,
380         /// <summary>
381         /// Extra size value that will be added to the computed visual size.
382         /// </summary>
383         [EditorBrowsable(EditorBrowsableState.Never)]
384         ExtraSize,
385     }
386
387     /// <summary>
388     /// This specifies visual types.
389     /// </summary>
390     /// <since_tizen> 3 </since_tizen>
391     public struct Visual
392     {
393         /// <summary>
394         /// The index for the visual type.
395         /// </summary>
396         /// <since_tizen> 3 </since_tizen>
397         public enum Type
398         {
399             /// <summary>
400             /// Renders a solid color as an internal border to the control's quad.
401             /// </summary>
402             Border,
403             /// <summary>
404             /// Renders a solid color to the control's quad.
405             /// </summary>
406             Color,
407             /// <summary>
408             /// Renders a smooth transition of colors to the control's quad.
409             /// </summary>
410             Gradient,
411             /// <summary>
412             /// Renders an image into the control's quad.
413             /// </summary>
414             Image,
415             /// <summary>
416             /// Renders a mesh using an "obj" file, optionally with textures provided by an "mtl" file.
417             /// </summary>
418             Mesh,
419             /// <summary>
420             /// Renders a simple 3D shape, such as a cube or a sphere.
421             /// </summary>
422             Primitive,
423             /// <summary>
424             /// Renders a simple wire-frame outlining a quad.
425             /// </summary>
426             Wireframe,
427             /// <summary>
428             /// Renders text.
429             /// </summary>
430             Text,
431             /// <summary>
432             /// Renders an NPatch image.
433             /// </summary>
434             NPatch,
435             /// <summary>
436             /// Renders an SVG image.
437             /// </summary>
438             SVG,
439             /// <summary>
440             /// Renders a animated image (animated GIF).
441             /// </summary>
442             AnimatedImage,
443             /// <summary>
444             /// Renders an arc.
445             /// </summary>
446             [EditorBrowsable(EditorBrowsableState.Never)]
447             Arc = AnimatedImage + 3,
448
449             /// <summary>
450             /// Keyword for invalid visual type. (NUI only)
451             /// </summary>
452             [EditorBrowsable(EditorBrowsableState.Never)]
453             Invalid = Border - 1,
454         }
455
456         /// <summary>
457         /// This specifies visual properties.
458         /// </summary>
459         /// <since_tizen> 3 </since_tizen>
460         [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1716: Identifiers should not match keywords")]
461         public struct Property
462         {
463             /// <summary>
464             /// Type.
465             /// </summary>
466             /// <since_tizen> 3 </since_tizen>
467             public static readonly int Type = NDalic.VisualPropertyType;
468             /// <summary>
469             /// Shader.
470             /// </summary>
471             /// <since_tizen> 3 </since_tizen>
472             public static readonly int Shader = NDalic.VisualPropertyShader;
473             /// <summary>
474             /// Transform.
475             /// </summary>
476             /// <since_tizen> 3 </since_tizen>
477             public static readonly int Transform = NDalic.VisualPropertyTransform;
478             /// <summary>
479             /// PremultipliedAlpha.
480             /// </summary>
481             /// <since_tizen> 3 </since_tizen>
482             public static readonly int PremultipliedAlpha = NDalic.VisualPropertyPremultipliedAlpha;
483             /// <summary>
484             /// MixColor.
485             /// </summary>
486             /// <since_tizen> 3 </since_tizen>
487             public static readonly int MixColor = NDalic.VisualPropertyMixColor;
488             /// <summary>
489             /// Opacity.
490             /// </summary>
491             /// <since_tizen> 3 </since_tizen>
492             public static readonly int Opacity = NDalic.VisualPropertyMixColor + 1;
493             /// <summary>
494             /// The fitting mode of the visual.
495             /// </summary>
496             /// <since_tizen> 5 </since_tizen>
497             public static readonly int VisualFittingMode = NDalic.VisualPropertyMixColor + 2;
498             /// <summary>
499             /// The corner radius of the visual.
500             /// </summary>
501             [EditorBrowsable(EditorBrowsableState.Never)]
502             public static readonly int CornerRadius = NDalic.VisualPropertyMixColor + 3;
503             /// <summary>
504             /// The corner radius policy of the visual.
505             /// Whether the corner radius value is relative (percentage [0.0f to 1.0f] of the visual size) or absolute (in world units).
506             /// </summary>
507             [EditorBrowsable(EditorBrowsableState.Never)]
508             public static readonly int CornerRadiusPolicy = NDalic.VisualPropertyMixColor + 4;
509             /// <summary>
510             /// The borderline width of the visual.
511             /// </summary>
512             [EditorBrowsable(EditorBrowsableState.Never)]
513             public static readonly int BorderlineWidth = NDalic.VisualPropertyMixColor + 5;
514             /// <summary>
515             /// The borderline color of the visual.
516             /// </summary>
517             [EditorBrowsable(EditorBrowsableState.Never)]
518             public static readonly int BorderlineColor = NDalic.VisualPropertyMixColor + 6;
519             /// <summary>
520             /// The borderline offset of the visual.
521             /// Relative position of borderline. (percentage [-1.0f to 1.0f]).
522             /// If -1.0f, borderline draw inside of visual
523             /// If 1.0f, borderline draw outside of visual
524             /// If 0.0f, half draw inside and half draw outside of visual
525             /// </summary>
526             [EditorBrowsable(EditorBrowsableState.Never)]
527             public static readonly int BorderlineOffset = NDalic.VisualPropertyMixColor + 7;
528         }
529
530         /// <summary>
531         /// This specifies shader properties.
532         /// </summary>
533         /// <since_tizen> 3 </since_tizen>
534         public struct ShaderProperty
535         {
536             /// <summary>
537             /// Vertex shader code
538             /// </summary>
539             /// <since_tizen> 3 </since_tizen>
540             public static readonly int VertexShader = NDalic.VisualShaderVertex;
541             /// <summary>
542             /// Fragment shader code
543             /// </summary>
544             /// <since_tizen> 3 </since_tizen>
545             public static readonly int FragmentShader = NDalic.VisualShaderFragment;
546             /// <summary>
547             /// How to subdivide the grid along X
548             /// </summary>
549             /// <since_tizen> 3 </since_tizen>
550             public static readonly int ShaderSubdivideGridX = NDalic.VisualShaderSubdivideGridX;
551             /// <summary>
552             /// How to subdivide the grid along Y
553             /// </summary>
554             /// <since_tizen> 3 </since_tizen>
555             public static readonly int ShaderSubdivideGridY = NDalic.VisualShaderSubdivideGridY;
556             /// <summary>
557             /// Bitmask of hints
558             /// </summary>
559             /// <since_tizen> 3 </since_tizen>
560             public static readonly int ShaderHints = NDalic.VisualShaderHints;
561         }
562
563         /// <summary>
564         /// This specifies visual align types.
565         /// </summary>
566         /// <since_tizen> 3 </since_tizen>
567         public enum AlignType
568         {
569             /// <summary>
570             /// TopBegin
571             /// </summary>
572             /// <since_tizen> 3 </since_tizen>
573             TopBegin = 0,
574             /// <summary>
575             /// TopCenter
576             /// </summary>
577             /// <since_tizen> 3 </since_tizen>
578             TopCenter,
579             /// <summary>
580             /// TopEnd
581             /// </summary>
582             /// <since_tizen> 3 </since_tizen>
583             TopEnd,
584             /// <summary>
585             /// CenterBegin
586             /// </summary>
587             /// <since_tizen> 3 </since_tizen>
588             CenterBegin,
589             /// <summary>
590             /// Center
591             /// </summary>
592             /// <since_tizen> 3 </since_tizen>
593             Center,
594             /// <summary>
595             /// CenterEnd
596             /// </summary>
597             /// <since_tizen> 3 </since_tizen>
598             CenterEnd,
599             /// <summary>
600             /// BottomBegin
601             /// </summary>
602             /// <since_tizen> 3 </since_tizen>
603             BottomBegin,
604             /// <summary>
605             /// BottomCenter
606             /// </summary>
607             /// <since_tizen> 3 </since_tizen>
608             BottomCenter,
609             /// <summary>
610             /// BottomEnd
611             /// </summary>
612             /// <since_tizen> 3 </since_tizen>
613             BottomEnd
614         }
615     }
616
617     /// <summary>
618     /// This specifies properties of the BorderVisual.
619     /// </summary>
620     /// <since_tizen> 3 </since_tizen>
621     public struct BorderVisualProperty
622     {
623         /// <summary>
624         /// The color of the border.
625         /// </summary>
626         /// <since_tizen> 3 </since_tizen>
627         public static readonly int Color = NDalic.BorderVisualColor;
628         /// <summary>
629         /// The width of the border (in pixels).
630         /// </summary>
631         /// <since_tizen> 3 </since_tizen>
632         public static readonly int Size = NDalic.BorderVisualSize;
633         /// <summary>
634         /// Whether anti-aliasing of the border is required.
635         /// </summary>
636         /// <since_tizen> 3 </since_tizen>
637         public static readonly int AntiAliasing = NDalic.BorderVisualAntiAliasing;
638     }
639
640     /// <summary>
641     /// This specifies properties of the ColorVisual.
642     /// </summary>
643     /// <since_tizen> 3 </since_tizen>
644     public struct ColorVisualProperty
645     {
646         /// <summary>
647         /// The solid color required.
648         /// </summary>
649         /// <since_tizen> 3 </since_tizen>
650         public static readonly int MixColor = NDalic.ColorVisualMixColor;
651         /// <summary>
652         /// Whether to render if the MixColor is transparent.
653         /// </summary>
654         /// <since_tizen> 5 </since_tizen>
655         public static readonly int RenderIfTransparent = NDalic.ColorVisualMixColor + 1;
656         /// <summary>
657         /// Then radius value for the area to blur.
658         /// </summary>
659         [EditorBrowsable(EditorBrowsableState.Never)]
660         public static readonly int BlurRadius = NDalic.ColorVisualMixColor + 2;
661     }
662
663     /// <summary>
664     /// This specifies properties of the GradientVisual.
665     /// </summary>
666     /// <since_tizen> 3 </since_tizen>
667     public struct GradientVisualProperty
668     {
669         /// <summary>
670         /// The start position of a linear gradient.
671         /// </summary>
672         /// <since_tizen> 3 </since_tizen>
673         public static readonly int StartPosition = NDalic.GradientVisualStartPosition;
674         /// <summary>
675         /// The end position of a linear gradient.
676         /// </summary>
677         /// <since_tizen> 3 </since_tizen>
678         public static readonly int EndPosition = NDalic.GradientVisualEndPosition;
679         /// <summary>
680         /// The center point of a radial gradient.
681         /// </summary>
682         /// <since_tizen> 3 </since_tizen>
683         public static readonly int Center = NDalic.GradientVisualCenter;
684         /// <summary>
685         /// The size of the radius of a radial gradient.
686         /// </summary>
687         /// <since_tizen> 3 </since_tizen>
688         public static readonly int Radius = NDalic.GradientVisualRadius;
689         /// <summary>
690         /// All the stop offsets.
691         /// </summary>
692         /// <since_tizen> 3 </since_tizen>
693         public static readonly int StopOffset = NDalic.GradientVisualStopOffset;
694         /// <summary>
695         /// The color at the stop offsets.
696         /// </summary>
697         /// <since_tizen> 3 </since_tizen>
698         public static readonly int StopColor = NDalic.GradientVisualStopColor;
699         /// <summary>
700         /// Defines the coordinate system for certain attributes of the points in a gradient.
701         /// </summary>
702         /// <since_tizen> 3 </since_tizen>
703         public static readonly int Units = NDalic.GradientVisualUnits;
704         /// <summary>
705         /// Indicates what happens if the gradient starts or ends inside the bounds of the target rectangle.
706         /// </summary>
707         /// <since_tizen> 3 </since_tizen>
708         public static readonly int SpreadMethod = NDalic.GradientVisualSpreadMethod;
709     }
710
711     /// <summary>
712     /// This specifies properties of the ImageVisual.
713     /// </summary>
714     /// <since_tizen> 3 </since_tizen>
715     public struct ImageVisualProperty
716     {
717         /// <summary>
718         /// The URL of the image.
719         /// </summary>
720         /// <since_tizen> 3 </since_tizen>
721         public static readonly int URL = NDalic.ImageVisualUrl;
722
723         /// <summary>
724         /// Fitting options, used when resizing images to fit desired dimensions.
725         /// </summary>
726         /// <since_tizen> 3 </since_tizen>
727         public static readonly int FittingMode = NDalic.ImageVisualFittingMode;
728
729         /// <summary>
730         /// Filtering options, used when resizing images to sample original pixels.
731         /// </summary>
732         /// <since_tizen> 3 </since_tizen>
733         public static readonly int SamplingMode = NDalic.ImageVisualSamplingMode;
734
735         /// <summary>
736         /// The desired image width.
737         /// </summary>
738         /// <since_tizen> 3 </since_tizen>
739         public static readonly int DesiredWidth = NDalic.ImageVisualDesiredWidth;
740
741         /// <summary>
742         /// The desired image height.
743         /// </summary>
744         /// <since_tizen> 3 </since_tizen>
745         public static readonly int DesiredHeight = NDalic.ImageVisualDesiredHeight;
746
747         /// <summary>
748         /// Whether to load the image synchronously.
749         /// </summary>
750         /// <since_tizen> 3 </since_tizen>
751         public static readonly int SynchronousLoading = NDalic.ImageVisualSynchronousLoading;
752
753         /// <summary>
754         /// If true, only draws the borders.
755         /// </summary>
756         /// <since_tizen> 3 </since_tizen>
757         public static readonly int BorderOnly = NDalic.ImageVisualBorderOnly;
758
759         /// <summary>
760         /// The image area to be displayed.
761         /// </summary>
762         /// <since_tizen> 3 </since_tizen>
763         public static readonly int PixelArea = NDalic.ImageVisualPixelArea;
764
765         /// <summary>
766         /// The wrap mode for u coordinate.
767         /// </summary>
768         /// <since_tizen> 3 </since_tizen>
769         public static readonly int WrapModeU = NDalic.ImageVisualWrapModeU;
770
771         /// <summary>
772         /// The wrap mode for v coordinate.
773         /// </summary>
774         /// <since_tizen> 3 </since_tizen>
775         public static readonly int WrapModeV = NDalic.ImageVisualWrapModeV;
776
777         /// <summary>
778         /// The border of the image.
779         /// </summary>
780         /// <since_tizen> 3 </since_tizen>
781         public static readonly int Border = NDalic.ImageVisualBorder;
782
783         /// <summary>
784         /// Whether to use the texture atlas.
785         /// </summary>
786         /// <since_tizen> 5 </since_tizen>
787         public static readonly int Atlasing = NDalic.ImageVisualBorder + 1;
788
789         /// <summary>
790         /// The URL of the alpha mask image.
791         /// </summary>
792         /// <since_tizen> 3 </since_tizen>
793         public static readonly int AlphaMaskURL = NDalic.ImageVisualAlphaMaskUrl;
794
795         /// <summary>
796         /// Defines the batch size for pre-loading images in the AnimatedImageVisual
797         /// </summary>
798         /// <since_tizen> 4 </since_tizen>
799         public static readonly int BatchSize = NDalic.ImageVisualBatchSize;
800
801         /// <summary>
802         /// Defines the cache size for loading images in the AnimatedImageVisual
803         /// </summary>
804         /// <since_tizen> 4 </since_tizen>
805         public static readonly int CacheSize = NDalic.ImageVisualCacheSize;
806
807         /// <summary>
808         /// The number of milliseconds between each frame in the AnimatedImageVisual
809         /// </summary>
810         /// <since_tizen> 4 </since_tizen>
811         public static readonly int FrameDelay = NDalic.ImageVisualFrameDelay;
812
813         /// <summary>
814         /// The scale factor to apply to the content image before masking.
815         /// </summary>
816         /// <since_tizen> 4 </since_tizen>
817         public static readonly int MaskContentScale = NDalic.ImageVisualMaskContentScale;
818
819         /// <summary>
820         /// Whether to crop image to mask or scale mask to fit image
821         /// </summary>
822         /// <since_tizen> 4 </since_tizen>
823         public static readonly int CropToMask = NDalic.ImageVisualCropToMask;
824
825         /// <summary>
826         /// The policy to determine when an image should be loaded.
827         /// </summary>
828         /// <since_tizen> 5 </since_tizen>
829         public static readonly int LoadPolicy = NDalic.ImageVisualLoadPolicy;
830
831         /// <summary>
832         /// The policy to determine when an image should no longer be cached.
833         /// </summary>
834         /// <since_tizen> 5 </since_tizen>
835         public static readonly int ReleasePolicy = NDalic.ImageVisualReleasePolicy;
836
837         /// <summary>
838         /// Determines if image orientation should be corrected so that the image displays as it was intended.
839         /// </summary>
840         /// <since_tizen> 5 </since_tizen>
841         public static readonly int OrientationCorrection = NDalic.ImageVisualOrientationCorrection;
842
843         /// <summary>
844         /// Overlays the auxiliary image on top of an NPatch image.
845         /// </summary>
846         /// <since_tizen> 5 </since_tizen>
847         public static readonly int AuxiliaryImageURL = NDalic.ImageVisualAuxiliaryImageUrl;
848
849         /// <summary>
850         /// Alpha value for the auxiliary image, without affecting the underlying NPatch image
851         /// </summary>
852         /// <since_tizen> 5 </since_tizen>
853         public static readonly int AuxiliaryImageAlpha = NDalic.ImageVisualAuxiliaryImageAlpha;
854
855         /// <summary>
856         /// The number of times the AnimatedImageVisual will be looped.
857         /// The default is -1. If the value is less than 0, loop unlimited. Otherwise, loop loopCount times.
858         /// </summary>
859         /// <since_tizen> 5 </since_tizen>
860         public static readonly int LoopCount = NDalic.ImageVisualLoopCount;
861
862         /// <summary>
863         /// @brief The playing range the AnimatedVectorImageVisual will use.
864         /// Animation will play between the values specified.The array can only have two values, and more will be ignored.
865         /// Both values should be between 0 and the total frame number, otherwise they will be ignored.
866         /// If the range provided is not in proper order (minimum, maximum), it will be reordered.
867         /// @details Name "playRange", Type Property::ARRAY of Property::INTEGER
868         /// @note Default 0 and the total frame number.
869         /// </summary>
870         /// <remarks>
871         /// Hidden API (Inhouse API)
872         /// </remarks>
873         [EditorBrowsable(EditorBrowsableState.Never)]
874         public static readonly int PlayRange = NDalic.ImageVisualOrientationCorrection + 4;
875
876         /// <summary>
877         /// @brief The playing state the AnimatedVectorImageVisual will use.
878         /// @details Name "playState", type PlayState (Property::INTEGER)
879         /// @note This property is read-only.
880         /// </summary>
881         /// <remarks>
882         /// Hidden API (Inhouse API)
883         /// </remarks>
884         [EditorBrowsable(EditorBrowsableState.Never)]
885         public static readonly int PlayState = NDalic.ImageVisualOrientationCorrection + 5;
886
887         /// <summary>
888         /// @brief The current frame number the AnimatedVectorImageVisual will use.
889         /// @details Name "currentFrameNumber", Type Property::INTEGER, between[0, the maximum frame number] or between the play range if specified
890         /// @note This property is read-only.
891         /// </summary>
892         /// <remarks>
893         /// Inhouse API
894         /// </remarks>
895         [EditorBrowsable(EditorBrowsableState.Never)]
896         public static readonly int CurrentFrameNumber = NDalic.ImageVisualOrientationCorrection + 6;
897
898         /// <summary>
899         /// @brief The total frame number the AnimatedVectorImageVisual will use.
900         /// @details Name "totalFrameNumber", Type Property::INTEGER.
901         /// @note This property is read-only.
902         /// </summary>
903         /// <remarks>
904         /// Inhouse API
905         /// </remarks>
906         [EditorBrowsable(EditorBrowsableState.Never)]
907         public static readonly int TotalFrameNumber = NDalic.ImageVisualOrientationCorrection + 7;
908
909         /// <summary>
910         /// @brief  The stop behavior the AnimatedVectorImageVisual will use.
911         /// @details Name "stopBehavior", Type StopBehavior::Type (Property::INTEGER)
912         /// @note Default value is StopBehavior::CURRENT_FRAME.
913         /// </summary>
914         /// <remarks>
915         /// Inhouse API
916         /// </remarks>
917         [EditorBrowsable(EditorBrowsableState.Never)]
918         public static readonly int StopBehavior = NDalic.ImageVisualOrientationCorrection + 8;
919
920         /// <summary>
921         /// @brief  The looping mode the AnimatedVectorImageVisual will use.
922         /// @details Name "loopingMode", Type LoopingMode::Type (Property::INTEGER)
923         /// @note Default value is LoopingMode::RESTART.
924         /// </summary>
925         /// <remarks>
926         /// Inhouse API
927         /// </remarks>
928         [EditorBrowsable(EditorBrowsableState.Never)]
929         public static readonly int LoopingMode = NDalic.ImageVisualOrientationCorrection + 9;
930
931         /// <summary>
932         /// @brief The content information the AnimatedVectorImageVisual will use.
933         /// @details Name "contentInfo", Type Property::MAP.
934         /// The map contains the layer name as a key and Property::Array as a value.
935         /// And the array contains 2 integer values which are the frame numbers, the start frame number and the end frame number of the layer.
936         /// @note This property is read-only.
937         /// </summary>
938         /// <remarks>
939         /// Inhouse API
940         /// </remarks>
941         [EditorBrowsable(EditorBrowsableState.Never)]
942         public static readonly int ContentInfo = NDalic.ImageVisualOrientationCorrection + 10;
943
944         /// <summary>
945         /// @brief Whether to redraw the image when the visual is scaled down.
946         /// @details Name "redrawInScalingDown", type Property::BOOLEAN.
947         /// @note It is used in the AnimatedVectorImageVisual.The default is true.
948         /// </summary>
949         /// <remarks>
950         /// Inhouse API
951         /// </remarks>
952         [EditorBrowsable(EditorBrowsableState.Never)]
953         public static readonly int RedrawInScalingDown = NDalic.ImageVisualOrientationCorrection + 11;
954
955         /// <summary>
956         /// @brief Whether to apply mask on the GPU or not.
957         /// @details Name "MaskingMode", type MaskingModeType (Property::INTEGER).
958         /// @note It is used in the ImageVisual, and AnimatedImageVisual.The default is MaskingOnLoading.
959         /// </summary>
960         [EditorBrowsable(EditorBrowsableState.Never)]
961         public static readonly int MaskingMode = NDalic.ImageVisualOrientationCorrection + 12;
962     }
963
964     /// <summary>
965     /// This specifies properties of the MeshVisual.
966     /// </summary>
967     /// <since_tizen> 3 </since_tizen>
968     public struct MeshVisualProperty
969     {
970         /// <summary>
971         /// The location of the ".obj" file.
972         /// </summary>
973         /// <since_tizen> 3 </since_tizen>
974         public static readonly int ObjectURL = NDalic.MeshVisualObjectUrl;
975         /// <summary>
976         /// The location of the ".mtl" file.
977         /// </summary>
978         [EditorBrowsable(EditorBrowsableState.Never)]
979         public static readonly int MaterialURL = NDalic.MeshVisualMaterialUrl;
980         /// <summary>
981         /// The location of the ".mtl" file.
982         /// </summary>
983         /// <since_tizen> 3 </since_tizen>
984         public static readonly int MaterialtURL = NDalic.MeshVisualMaterialUrl;
985         /// <summary>
986         /// Path to the directory the textures (including gloss and normal) are stored in.
987         /// </summary>
988         /// <since_tizen> 3 </since_tizen>
989         public static readonly int TexturesPath = NDalic.MeshVisualTexturesPath;
990         /// <summary>
991         /// Sets the type of shading mode that the mesh will use.
992         /// </summary>
993         /// <since_tizen> 3 </since_tizen>
994         public static readonly int ShadingMode = NDalic.MeshVisualShadingMode;
995         /// <summary>
996         /// Whether to use mipmaps for textures or not.
997         /// </summary>
998         /// <since_tizen> 3 </since_tizen>
999         public static readonly int UseMipmapping = NDalic.MeshVisualUseMipmapping;
1000         /// <summary>
1001         /// Whether to average normals at each point to smooth textures or not.
1002         /// </summary>
1003         /// <since_tizen> 3 </since_tizen>
1004         public static readonly int UseSoftNormals = NDalic.MeshVisualUseSoftNormals;
1005         /// <summary>
1006         /// The position, in stage space, of the point light that applies lighting to the model.
1007         /// </summary>
1008         /// <since_tizen> 3 </since_tizen>
1009         public static readonly int LightPosition = NDalic.MeshVisualLightPosition;
1010     }
1011
1012     /// <summary>
1013     /// This specifies properties of the PrimitiveVisual.
1014     /// </summary>
1015     /// <since_tizen> 3 </since_tizen>
1016     public struct PrimitiveVisualProperty
1017     {
1018         /// <summary>
1019         /// The specific shape to render.
1020         /// </summary>
1021         /// <since_tizen> 3 </since_tizen>
1022         public static readonly int Shape = NDalic.PrimitiveVisualShape;
1023         /// <summary>
1024         /// The color of the shape.
1025         /// </summary>
1026         /// <since_tizen> 3 </since_tizen>
1027         public static readonly int MixColor = NDalic.PrimitiveVisualMixColor;
1028         /// <summary>
1029         /// The number of slices as you go around the shape.
1030         /// </summary>
1031         /// <since_tizen> 3 </since_tizen>
1032         public static readonly int Slices = NDalic.PrimitiveVisualSlices;
1033         /// <summary>
1034         /// The number of stacks as you go down the shape.
1035         /// </summary>
1036         /// <since_tizen> 3 </since_tizen>
1037         public static readonly int Stacks = NDalic.PrimitiveVisualStacks;
1038         /// <summary>
1039         /// The scale of the radius of the top circle of a conical frustum.
1040         /// </summary>
1041         /// <since_tizen> 3 </since_tizen>
1042         public static readonly int ScaleTopRadius = NDalic.PrimitiveVisualScaleTopRadius;
1043         /// <summary>
1044         /// The scale of the radius of the bottom circle of a conical frustum.
1045         /// </summary>
1046         /// <since_tizen> 3 </since_tizen>
1047         public static readonly int ScaleBottomRadius = NDalic.PrimitiveVisualScaleBottomRadius;
1048         /// <summary>
1049         /// The scale of the height of a conic.
1050         /// </summary>
1051         /// <since_tizen> 3 </since_tizen>
1052         public static readonly int ScaleHeight = NDalic.PrimitiveVisualScaleHeight;
1053         /// <summary>
1054         /// The scale of the radius of a cylinder.
1055         /// </summary>
1056         /// <since_tizen> 3 </since_tizen>
1057         public static readonly int ScaleRadius = NDalic.PrimitiveVisualScaleRadius;
1058         /// <summary>
1059         /// The dimensions of a cuboid. Scales in the same fashion as a 9-patch image.
1060         /// </summary>
1061         /// <since_tizen> 3 </since_tizen>
1062         public static readonly int ScaleDimensions = NDalic.PrimitiveVisualScaleDimensions;
1063         /// <summary>
1064         /// Determines how bevelled the cuboid should be, based off the smallest dimension.
1065         /// </summary>
1066         /// <since_tizen> 3 </since_tizen>
1067         public static readonly int BevelPercentage = NDalic.PrimitiveVisualBevelPercentage;
1068         /// <summary>
1069         /// Defines how smooth the bevelled edges should be.
1070         /// </summary>
1071         /// <since_tizen> 3 </since_tizen>
1072         public static readonly int BevelSmoothness = NDalic.PrimitiveVisualBevelSmoothness;
1073         /// <summary>
1074         /// The position, in stage space, of the point light that applies lighting to the model.
1075         /// </summary>
1076         /// <since_tizen> 3 </since_tizen>
1077         public static readonly int LightPosition = NDalic.PrimitiveVisualLightPosition;
1078     }
1079
1080     /// <summary>
1081     /// This specifies properties of the TextVisual.
1082     /// </summary>
1083     /// <since_tizen> 3 </since_tizen>
1084     public struct TextVisualProperty
1085     {
1086         /// <summary>
1087         /// The text to display in UTF-8 format.
1088         /// </summary>
1089         /// <since_tizen> 3 </since_tizen>
1090         public static readonly int Text = NDalic.TextVisualText;
1091         /// <summary>
1092         /// The requested font family to use.
1093         /// </summary>
1094         /// <since_tizen> 3 </since_tizen>
1095         public static readonly int FontFamily = NDalic.TextVisualFontFamily;
1096         /// <summary>
1097         /// The requested font style to use.
1098         /// </summary>
1099         /// <since_tizen> 3 </since_tizen>
1100         public static readonly int FontStyle = NDalic.TextVisualFontStyle;
1101         /// <summary>
1102         /// The size of font in points.
1103         /// </summary>
1104         /// <since_tizen> 3 </since_tizen>
1105         public static readonly int PointSize = NDalic.TextVisualPointSize;
1106         /// <summary>
1107         /// The single-line or multi-line layout option.
1108         /// </summary>
1109         /// <since_tizen> 3 </since_tizen>
1110         public static readonly int MultiLine = NDalic.TextVisualMultiLine;
1111         /// <summary>
1112         /// The line horizontal alignment.
1113         /// </summary>
1114         /// <since_tizen> 3 </since_tizen>
1115         public static readonly int HorizontalAlignment = NDalic.TextVisualHorizontalAlignment;
1116         /// <summary>
1117         /// The line vertical alignment.
1118         /// </summary>
1119         /// <since_tizen> 3 </since_tizen>
1120         public static readonly int VerticalAlignment = NDalic.TextVisualVerticalAlignment;
1121         /// <summary>
1122         /// The color of the text.
1123         /// </summary>
1124         /// <since_tizen> 3 </since_tizen>
1125         public static readonly int TextColor = NDalic.TextVisualTextColor;
1126         /// <summary>
1127         /// Whether the mark-up processing is enabled.
1128         /// </summary>
1129         /// <since_tizen> 3 </since_tizen>
1130         public static readonly int EnableMarkup = NDalic.TextVisualEnableMarkup;
1131         /// <summary>
1132         /// The shadow parameters.
1133         /// </summary>
1134         /// <since_tizen> 5 </since_tizen>
1135         public static readonly int Shadow = NDalic.TextVisualEnableMarkup + 1;
1136         /// <summary>
1137         /// The default underline parameters.
1138         /// </summary>
1139         /// <since_tizen> 5 </since_tizen>
1140         public static readonly int Underline = NDalic.TextVisualEnableMarkup + 2;
1141         /// <summary>
1142         /// The default outline parameters.
1143         /// </summary>
1144         /// <since_tizen> 5 </since_tizen>
1145         public static readonly int Outline = NDalic.TextVisualEnableMarkup + 3;
1146         /// <summary>
1147         /// The default text background parameters.
1148         /// </summary>
1149         /// <since_tizen> 5 </since_tizen>
1150         public static readonly int Background = NDalic.TextVisualEnableMarkup + 4;
1151     }
1152
1153     /// <summary>
1154     /// This specifies properties of the NpatchImageVisual.
1155     /// </summary>
1156     /// <since_tizen> 3 </since_tizen>
1157     public struct NpatchImageVisualProperty
1158     {
1159         /// <summary>
1160         /// The URL of the image.
1161         /// </summary>
1162         /// <since_tizen> 3 </since_tizen>
1163         public static readonly int URL = NDalic.ImageVisualUrl;
1164         /// <summary>
1165         /// Fitting options, used when resizing images to fit desired dimensions.
1166         /// </summary>
1167         /// <since_tizen> 3 </since_tizen>
1168         public static readonly int FittingMode = NDalic.ImageVisualFittingMode;
1169         /// <summary>
1170         /// Filtering options, used when resizing images to sample original pixels.
1171         /// </summary>
1172         /// <since_tizen> 3 </since_tizen>
1173         public static readonly int SamplingMode = NDalic.ImageVisualSamplingMode;
1174         /// <summary>
1175         /// The desired image width.
1176         /// </summary>
1177         /// <since_tizen> 3 </since_tizen>
1178         public static readonly int DesiredWidth = NDalic.ImageVisualDesiredWidth;
1179         /// <summary>
1180         /// The desired image height.
1181         /// </summary>
1182         /// <since_tizen> 3 </since_tizen>
1183         public static readonly int DesiredHeight = NDalic.ImageVisualDesiredHeight;
1184         /// <summary>
1185         /// Whether to load the image synchronously.
1186         /// </summary>
1187         /// <since_tizen> 3 </since_tizen>
1188         public static readonly int SynchronousLoading = NDalic.ImageVisualSynchronousLoading;
1189         /// <summary>
1190         /// If true, only draws the borders.
1191         /// </summary>
1192         /// <since_tizen> 3 </since_tizen>
1193         public static readonly int BorderOnly = NDalic.ImageVisualBorderOnly;
1194         /// <summary>
1195         /// The image area to be displayed.
1196         /// </summary>
1197         /// <since_tizen> 3 </since_tizen>
1198         public static readonly int PixelArea = NDalic.ImageVisualPixelArea;
1199         /// <summary>
1200         /// The wrap mode for u coordinate.
1201         /// </summary>
1202         /// <since_tizen> 3 </since_tizen>
1203         public static readonly int WrapModeU = NDalic.ImageVisualWrapModeU;
1204         /// <summary>
1205         /// The wrap mode for v coordinate.
1206         /// </summary>
1207         /// <since_tizen> 3 </since_tizen>
1208         public static readonly int WrapModeV = NDalic.ImageVisualWrapModeV;
1209         /// <summary>
1210         /// The border of the image.
1211         /// </summary>
1212         /// <since_tizen> 3 </since_tizen>
1213         public static readonly int Border = NDalic.ImageVisualWrapModeV + 1;
1214     }
1215
1216     /// <summary>
1217     /// This specifies properties of the ArcVisual.
1218     /// </summary>
1219     internal struct ArcVisualProperty
1220     {
1221         /// <summary>
1222         /// The thickness of the arc.
1223         /// </summary>
1224         /// <remarks>The value is float type.</remarks>
1225         /// <remarks>This is mandatory property.</remarks>
1226         internal static readonly int Thickness = NDalic.ImageVisualUrl;
1227
1228         /// <summary>
1229         /// The start angle where the arc begins in degrees.
1230         /// </summary>
1231         /// <remarks>The value is float type.</remarks>
1232         /// <remarks>The property of optional. The default value is 0.</remarks>
1233         internal static readonly int StartAngle = Thickness + 1;
1234
1235         /// <summary>
1236         /// The sweep angle of the arc in degrees.
1237         /// </summary>
1238         /// <remarks>The value is float type.</remarks>
1239         /// <remarks>The property of optional. The default value is 360.</remarks>
1240         internal static readonly int SweepAngle = Thickness + 2;
1241
1242         /// <summary>
1243         /// The cap style of the arc.
1244         /// </summary>
1245         /// <remarks>
1246         /// The value is integer type.
1247         /// The value 0 means butt, the arc does not extend beyond its two endpoints.
1248         /// The value 1 means round, the arc will be extended by a half circle with the center at the end.
1249         /// </remarks>
1250         /// <remarks>The property of optional. The default value is 0 (butt).</remarks>
1251         internal static readonly int Cap = Thickness + 3;
1252     }
1253
1254     /// <summary>
1255     /// Enumeration for Circular alignment.
1256     /// The @p horizontalAlignment and @p verticalAlignment can be used to align the text within the text area.
1257     /// </summary>
1258     [EditorBrowsable(EditorBrowsableState.Never)]
1259     public enum CircularAlignment
1260     {
1261         /// <summary>
1262         /// Texts place at the begin of Circular direction.
1263         /// </summary>
1264         [Description("BEGIN")]
1265         Begin,
1266         /// <summary>
1267         /// Texts place at the center of Circular direction.
1268         /// </summary>
1269         [Description("CENTER")]
1270         Center,
1271         /// <summary>
1272         /// Texts place at the end of Circular direction.
1273         /// </summary>
1274         [Description("END")]
1275         End
1276     }
1277
1278     /// <summary>
1279     /// Enumeration for Text Layout.
1280     /// </summary>
1281     [EditorBrowsable(EditorBrowsableState.Never)]
1282     public enum TextLayout
1283     {
1284         /// <summary>
1285         /// SingleLine.
1286         /// </summary>
1287         [Description("singleLine")]
1288         SingleLine,
1289         /// <summary>
1290         /// MultiLine.
1291         /// </summary>
1292         [Description("multiLine")]
1293         MultiLine,
1294         /// <summary>
1295         /// Circular.
1296         /// </summary>
1297         [Description("circular")]
1298         Circular
1299     }
1300
1301     /// <summary>
1302     /// Defines how a color is blended.
1303     /// </summary>
1304     /// This will be public opened after ACR done. Before ACR, need to be hidden as inhouse API.
1305     [EditorBrowsable(EditorBrowsableState.Never)]
1306     public enum ColorBlendingMode
1307     {
1308         /// <summary>
1309         ///  No blend.
1310         /// </summary>
1311         None,
1312         /// <summary>
1313         ///  The color is multiplied by another one.
1314         /// </summary>
1315         Multiply
1316     };
1317 }