1 // Copyright (c) 2019 Samsung Electronics Co., Ltd.
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
7 // http://www.apache.org/licenses/LICENSE-2.0
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.
15 using System.ComponentModel;
20 /// Specifies the release policy types.<br />
21 /// Decides if the image should be cached in different conditions.
23 /// <since_tizen> 5 </since_tizen>
24 public enum ReleasePolicyType
27 /// Image is released when visual detached from scene.
31 /// Image is only released when visual is destroyed.
35 /// Image is not released.
41 /// Specifies the load policy types.<br />
42 /// Decides when the image texture should be loaded.
44 /// <since_tizen> 5 </since_tizen>
45 public enum LoadPolicyType
48 /// Load texture once the image source has been provided. Even if not being used yet.
52 /// Only load texture once the visual is attached, when the image needs to be shown.
58 /// Enumeration for the text horizontal aligning.
60 /// <since_tizen> 3 </since_tizen>
61 public enum HorizontalAlignment
64 /// Texts place at the begin of horizontal direction.
66 [Description("BEGIN")]
69 /// Texts place at the center of horizontal direction.
71 [Description("CENTER")]
74 /// Texts place at the end of horizontal direction.
81 /// Enumeration for the text horizontal aligning.
83 /// <since_tizen> 3 </since_tizen>
84 public enum VerticalAlignment
87 /// Texts place at the top of vertical direction.
92 /// Texts place at the center of vertical direction.
94 [Description("CENTER")]
97 /// Texts place at the bottom of vertical direction.
99 [Description("BOTTOM")]
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.
107 /// <since_tizen> 3 </since_tizen>
108 public enum WrapModeType
111 /// The default value.
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 />
133 /// <since_tizen> 3 </since_tizen>
134 public enum FittingModeType
137 /// Full-screen image display: Limit loaded image resolution to device resolution using the ShrinkToFit mode.
141 /// Thumbnail gallery grid: Limit loaded image resolution to screen tile using the ScaleToFill mode.
145 /// Image columns: Limit loaded image resolution to column width using the FitWidth mode.
149 /// Image rows: Limit loaded image resolution to row height using the FitHeight mode.
153 /// Thumbnail gallery grid: Limit loaded image resolution to screen tile using the Center mode.
155 [EditorBrowsable(EditorBrowsableState.Never)]
158 /// Thumbnail gallery grid: Limit loaded image resolution to screen tile using the ScaleToFill mode.
160 [EditorBrowsable(EditorBrowsableState.Never)]
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 />
170 /// <since_tizen> 3 </since_tizen>
171 public enum SamplingModeType
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.
179 /// For each output pixel, read one input pixel.
183 /// For each output pixel, read a quad of four input pixels and write a weighted average of them.
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 />
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.
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.
200 /// For caching algorithms where a client strongly prefers a cache-hit to reuse a cached image.
206 /// The type of coordinate system for certain attributes of the points in a gradient.
208 /// <since_tizen> 3 </since_tizen>
209 public enum GradientVisualUnitsType
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).
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).
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 />
225 /// <since_tizen> 3 </since_tizen>
226 public enum GradientVisualSpreadMethodType
229 /// Uses the terminal colors of the gradient to fill the remainder of the quad.
233 /// Reflects the gradient pattern start-to-end, end-to-start, start-to-end, etc. until the quad is filled.
237 /// Repeats the gradient pattern start-to-end, start-to-end, start-to-end, etc. until the quad is filled.
243 /// The shading mode used by the mesh visual.
245 /// <since_tizen> 3 </since_tizen>
246 public enum MeshVisualShadingModeValue
249 /// *Simplest*. One color that is lit by ambient and diffuse lighting.
251 TexturelessWithDiffuseLighting,
253 /// Uses only the visual image textures provided with specular lighting in addition to ambient and diffuse lighting.
255 TexturedWithSpecularLighting,
257 /// Uses all textures provided including gloss, normal, and texture map along with specular, ambient, and diffuse lighting.
259 TexturedWithDetailedSpecularLighting
263 /// The primitive shape to render as a primitive visual.
265 /// <since_tizen> 3 </since_tizen>
266 public enum PrimitiveVisualShapeType
269 /// A perfectly round geometrical object in the three-dimensional space.
273 /// The area bound between two circles, i.e., a cone with the tip removed.
277 /// Equivalent to a conical frustrum with the top radius of zero.
278 /// </summary>Equivalent to a conical frustrum with the top radius of zero.
281 /// Equivalent to a conical frustrum with the top radius of zero.
285 /// Equivalent to a conical frustrum with equal radii for the top and bottom circles.
289 /// Equivalent to a bevelled cube with a bevel percentage of zero.
293 /// Equivalent to a bevelled cube with a bevel percentage of one.
299 /// The values of this enum determine how the visual should fit into the view.
301 /// <since_tizen> 5 </since_tizen>
302 public enum VisualFittingModeType
305 /// The visual should be scaled to fit, preserving aspect ratio.
309 /// The visual should be stretched to fill, not preserving aspect ratio.
313 /// The visual should be scaled to fit, preserving aspect ratio. The visual will be fillled without empty area, and outside is cropped away.
315 [EditorBrowsable(EditorBrowsableState.Never)]
316 OverFitKeepAspectRatio,
318 /// The visual should keep original size of image. it is not scaled and not strecthed.
320 [EditorBrowsable(EditorBrowsableState.Never)]
323 /// The visual should be scaled to fit, preserving aspect ratio. Height is scaled proportionately to maintain aspect ratio.
325 [EditorBrowsable(EditorBrowsableState.Never)]
328 /// The visual should be scaled to fit, preserving aspect ratio. WIDTH is scaled proportionately to maintain aspect ratio.
330 [EditorBrowsable(EditorBrowsableState.Never)]
335 /// This specifies policy types that could be used by the transform for the offset or size.
337 /// <since_tizen> 3 </since_tizen>
338 public enum VisualTransformPolicyType
341 /// Relative to the control (percentage [0.0f to 1.0f] of the control).
345 /// Absolute value in world units.
351 /// This specifies all the transform property types.
353 /// <since_tizen> 3 </since_tizen>
354 public enum VisualTransformPropertyType
357 /// Offset of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units).
361 /// Size of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units).
365 /// The origin of the visual within its control area.
369 /// The anchor-point of the visual.
373 /// Whether the x or y offset values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units).
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).
381 /// Extra size value that will be added to the computed visual size.
383 [EditorBrowsable(EditorBrowsableState.Never)]
388 /// This specifies visual types.
390 /// <since_tizen> 3 </since_tizen>
394 /// The index for the visual type.
396 /// <since_tizen> 3 </since_tizen>
400 /// Renders a solid color as an internal border to the control's quad.
404 /// Renders a solid color to the control's quad.
408 /// Renders a smooth transition of colors to the control's quad.
412 /// Renders an image into the control's quad.
416 /// Renders a mesh using an "obj" file, optionally with textures provided by an "mtl" file.
420 /// Renders a simple 3D shape, such as a cube or a sphere.
424 /// Renders a simple wire-frame outlining a quad.
432 /// Renders an NPatch image.
436 /// Renders an SVG image.
440 /// Renders a animated image (animated GIF).
446 [EditorBrowsable(EditorBrowsableState.Never)]
447 Arc = AnimatedImage + 3,
451 /// This specifies visual properties.
453 /// <since_tizen> 3 </since_tizen>
454 public struct Property
459 /// <since_tizen> 3 </since_tizen>
460 public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
464 /// <since_tizen> 3 </since_tizen>
465 public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER;
469 /// <since_tizen> 3 </since_tizen>
470 public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM;
472 /// PremultipliedAlpha.
474 /// <since_tizen> 3 </since_tizen>
475 public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA;
479 /// <since_tizen> 3 </since_tizen>
480 public static readonly int MixColor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
484 /// <since_tizen> 3 </since_tizen>
485 public static readonly int Opacity = NDalic.VISUAL_PROPERTY_MIX_COLOR + 1;
487 /// The fitting mode of the visual.
489 /// <since_tizen> 5 </since_tizen>
490 public static readonly int VisualFittingMode = NDalic.VISUAL_PROPERTY_MIX_COLOR + 2;
492 /// The corner radius of the visual.
494 [EditorBrowsable(EditorBrowsableState.Never)]
495 public static readonly int CornerRadius = NDalic.VISUAL_PROPERTY_MIX_COLOR + 3;
499 /// This specifies shader properties.
501 /// <since_tizen> 3 </since_tizen>
502 public struct ShaderProperty
505 /// Vertex shader code
507 /// <since_tizen> 3 </since_tizen>
508 public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
510 /// Fragment shader code
512 /// <since_tizen> 3 </since_tizen>
513 public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT;
515 /// How to subdivide the grid along X
517 /// <since_tizen> 3 </since_tizen>
518 public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X;
520 /// How to subdivide the grid along Y
522 /// <since_tizen> 3 </since_tizen>
523 public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
527 /// <since_tizen> 3 </since_tizen>
528 public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
532 /// This specifies visaul align types.
534 /// <since_tizen> 3 </since_tizen>
535 public enum AlignType
540 /// <since_tizen> 3 </since_tizen>
545 /// <since_tizen> 3 </since_tizen>
550 /// <since_tizen> 3 </since_tizen>
555 /// <since_tizen> 3 </since_tizen>
560 /// <since_tizen> 3 </since_tizen>
565 /// <since_tizen> 3 </since_tizen>
570 /// <since_tizen> 3 </since_tizen>
575 /// <since_tizen> 3 </since_tizen>
580 /// <since_tizen> 3 </since_tizen>
586 /// This specifies properties of the BorderVisual.
588 /// <since_tizen> 3 </since_tizen>
589 public struct BorderVisualProperty
592 /// The color of the border.
594 /// <since_tizen> 3 </since_tizen>
595 public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
597 /// The width of the border (in pixels).
599 /// <since_tizen> 3 </since_tizen>
600 public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
602 /// Whether anti-aliasing of the border is required.
604 /// <since_tizen> 3 </since_tizen>
605 public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
609 /// This specifies properties of the ColorVisual.
611 /// <since_tizen> 3 </since_tizen>
612 public struct ColorVisualProperty
615 /// The solid color required.
617 /// <since_tizen> 3 </since_tizen>
618 public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
620 /// Whether to render if the MixColor is transparent.
622 /// <since_tizen> 5 </since_tizen>
623 public static readonly int RenderIfTransparent = NDalic.COLOR_VISUAL_MIX_COLOR + 1;
625 /// Then radius value for the area to blur.
627 [EditorBrowsable(EditorBrowsableState.Never)]
628 public static readonly int BlurRadius = NDalic.COLOR_VISUAL_MIX_COLOR + 2;
632 /// This specifies properties of the GradientVisual.
634 /// <since_tizen> 3 </since_tizen>
635 public struct GradientVisualProperty
638 /// The start position of a linear gradient.
640 /// <since_tizen> 3 </since_tizen>
641 public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
643 /// The end position of a linear gradient.
645 /// <since_tizen> 3 </since_tizen>
646 public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
648 /// The center point of a radial gradient.
650 /// <since_tizen> 3 </since_tizen>
651 public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
653 /// The size of the radius of a radial gradient.
655 /// <since_tizen> 3 </since_tizen>
656 public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
658 /// All the stop offsets.
660 /// <since_tizen> 3 </since_tizen>
661 public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
663 /// The color at the stop offsets.
665 /// <since_tizen> 3 </since_tizen>
666 public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR;
668 /// Defines the coordinate system for certain attributes of the points in a gradient.
670 /// <since_tizen> 3 </since_tizen>
671 public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS;
673 /// Indicates what happens if the gradient starts or ends inside the bounds of the target rectangle.
675 /// <since_tizen> 3 </since_tizen>
676 public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
680 /// This specifies properties of the ImageVisual.
682 /// <since_tizen> 3 </since_tizen>
683 public struct ImageVisualProperty
686 /// The URL of the image.
688 /// <since_tizen> 3 </since_tizen>
689 public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
692 /// Fitting options, used when resizing images to fit desired dimensions.
694 /// <since_tizen> 3 </since_tizen>
695 public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
698 /// Filtering options, used when resizing images to sample original pixels.
700 /// <since_tizen> 3 </since_tizen>
701 public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
704 /// The desired image width.
706 /// <since_tizen> 3 </since_tizen>
707 public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
710 /// The desired image height.
712 /// <since_tizen> 3 </since_tizen>
713 public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
716 /// Whether to load the image synchronously.
718 /// <since_tizen> 3 </since_tizen>
719 public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
722 /// If true, only draws the borders.
724 /// <since_tizen> 3 </since_tizen>
725 public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
728 /// The image area to be displayed.
730 /// <since_tizen> 3 </since_tizen>
731 public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
734 /// The wrap mode for u coordinate.
736 /// <since_tizen> 3 </since_tizen>
737 public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
740 /// The wrap mode for v coordinate.
742 /// <since_tizen> 3 </since_tizen>
743 public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
746 /// The border of the image.
748 /// <since_tizen> 3 </since_tizen>
749 public static readonly int Border = NDalic.IMAGE_VISUAL_BORDER;
752 /// Whether to use the texture atlas.
754 /// <since_tizen> 5 </since_tizen>
755 public static readonly int Atlasing = NDalic.IMAGE_VISUAL_BORDER + 1;
758 /// The URL of the alpha mask image.
760 /// <since_tizen> 3 </since_tizen>
761 public static readonly int AlphaMaskURL = NDalic.IMAGE_VISUAL_ALPHA_MASK_URL;
764 /// Defines the batch size for pre-loading images in the AnimatedImageVisual
766 /// <since_tizen> 4 </since_tizen>
767 public static readonly int BatchSize = NDalic.IMAGE_VISUAL_BATCH_SIZE;
770 /// Defines the cache size for loading images in the AnimatedImageVisual
772 /// <since_tizen> 4 </since_tizen>
773 public static readonly int CacheSize = NDalic.IMAGE_VISUAL_CACHE_SIZE;
776 /// The number of milliseconds between each frame in the AnimatedImageVisual
778 /// <since_tizen> 4 </since_tizen>
779 public static readonly int FrameDelay = NDalic.IMAGE_VISUAL_FRAME_DELAY;
782 /// The scale factor to apply to the content image before masking.
784 /// <since_tizen> 4 </since_tizen>
785 public static readonly int MaskContentScale = NDalic.IMAGE_VISUAL_MASK_CONTENT_SCALE;
788 /// Whether to crop image to mask or scale mask to fit image
790 /// <since_tizen> 4 </since_tizen>
791 public static readonly int CropToMask = NDalic.IMAGE_VISUAL_CROP_TO_MASK;
794 /// The policy to determine when an image should be loaded.
796 /// <since_tizen> 5 </since_tizen>
797 public static readonly int LoadPolicy = NDalic.IMAGE_VISUAL_LOAD_POLICY;
800 /// The policy to determine when an image should no longer be cached.
802 /// <since_tizen> 5 </since_tizen>
803 public static readonly int ReleasePolicy = NDalic.IMAGE_VISUAL_RELEASE_POLICY;
806 /// Determines if image orientation should be corrected so that the image displays as it was intended.
808 /// <since_tizen> 5 </since_tizen>
809 public static readonly int OrientationCorrection = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION;
812 /// Overlays the auxiliary image on top of an NPatch image.
814 /// <since_tizen> 5 </since_tizen>
815 public static readonly int AuxiliaryImageURL = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_URL;
818 /// Alpha value for the auxiliary image, without affecting the underlying NPatch image
820 /// <since_tizen> 5 </since_tizen>
821 public static readonly int AuxiliaryImageAlpha = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_ALPHA;
824 /// The number of times the AnimatedImageVisual will be looped.
825 /// The default is -1. If the value is less than 0, loop unlimited. Otherwise, loop loopCount times.
827 /// <since_tizen> 5 </since_tizen>
828 public static readonly int LoopCount = NDalic.IMAGE_VISUAL_LOOP_COUNT;
831 /// @brief The playing range the AnimatedVectorImageVisual will use.
832 /// Animation will play between the values specified.The array can only have two values, and more will be ignored.
833 /// Both values should be between 0 and the total frame number, otherwise they will be ignored.
834 /// If the range provided is not in proper order (minimum, maximum), it will be reordered.
835 /// @details Name "playRange", Type Property::ARRAY of Property::INTEGER
836 /// @note Default 0 and the total frame number.
839 /// Hidden API (Inhouse API)
841 [EditorBrowsable(EditorBrowsableState.Never)]
842 public static readonly int PlayRange = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION + 4;
845 /// @brief The playing state the AnimatedVectorImageVisual will use.
846 /// @details Name "playState", type PlayState (Property::INTEGER)
847 /// @note This property is read-only.
850 /// Hidden API (Inhouse API)
852 [EditorBrowsable(EditorBrowsableState.Never)]
853 public static readonly int PlayState = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION + 5;
856 /// @brief The current frame number the AnimatedVectorImageVisual will use.
857 /// @details Name "currentFrameNumber", Type Property::INTEGER, between[0, the maximum frame number] or between the play range if specified
858 /// @note This property is read-only.
863 [EditorBrowsable(EditorBrowsableState.Never)]
864 public static readonly int CurrentFrameNumber = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION + 6;
867 /// @brief The total frame number the AnimatedVectorImageVisual will use.
868 /// @details Name "totalFrameNumber", Type Property::INTEGER.
869 /// @note This property is read-only.
874 [EditorBrowsable(EditorBrowsableState.Never)]
875 public static readonly int TotalFrameNumber = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION + 7;
878 /// @brief The stop behavior the AnimatedVectorImageVisual will use.
879 /// @details Name "stopBehavior", Type StopBehavior::Type (Property::INTEGER)
880 /// @note Default value is StopBehavior::CURRENT_FRAME.
885 [EditorBrowsable(EditorBrowsableState.Never)]
886 public static readonly int StopBehavior = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION + 8;
889 /// @brief The looping mode the AnimatedVectorImageVisual will use.
890 /// @details Name "loopingMode", Type LoopingMode::Type (Property::INTEGER)
891 /// @note Default value is LoopingMode::RESTART.
896 [EditorBrowsable(EditorBrowsableState.Never)]
897 public static readonly int LoopingMode = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION + 9;
900 /// @brief The content information the AnimatedVectorImageVisual will use.
901 /// @details Name "contentInfo", Type Property::MAP.
902 /// The map contains the layer name as a key and Property::Array as a value.
903 /// And the array contains 2 integer values which are the frame numbers, the start frame number and the end frame number of the layer.
904 /// @note This property is read-only.
909 [EditorBrowsable(EditorBrowsableState.Never)]
910 public static readonly int ContentInfo = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION + 10;
914 /// This specifies properties of the MeshVisual.
916 /// <since_tizen> 3 </since_tizen>
917 public struct MeshVisualProperty
920 /// The location of the ".obj" file.
922 /// <since_tizen> 3 </since_tizen>
923 public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
925 /// The location of the ".mtl" file.
927 /// <since_tizen> 3 </since_tizen>
928 public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
930 /// Path to the directory the textures (including gloss and normal) are stored in.
932 /// <since_tizen> 3 </since_tizen>
933 public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
935 /// Sets the type of shading mode that the mesh will use.
937 /// <since_tizen> 3 </since_tizen>
938 public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
940 /// Whether to use mipmaps for textures or not.
942 /// <since_tizen> 3 </since_tizen>
943 public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
945 /// Whether to average normals at each point to smooth textures or not.
947 /// <since_tizen> 3 </since_tizen>
948 public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
950 /// The position, in stage space, of the point light that applies lighting to the model.
952 /// <since_tizen> 3 </since_tizen>
953 public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
957 /// This specifies properties of the PrimitiveVisual.
959 /// <since_tizen> 3 </since_tizen>
960 public struct PrimitiveVisualProperty
963 /// The specific shape to render.
965 /// <since_tizen> 3 </since_tizen>
966 public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
968 /// The color of the shape.
970 /// <since_tizen> 3 </since_tizen>
971 public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
973 /// The number of slices as you go around the shape.
975 /// <since_tizen> 3 </since_tizen>
976 public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES;
978 /// The number of stacks as you go down the shape.
980 /// <since_tizen> 3 </since_tizen>
981 public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS;
983 /// The scale of the radius of the top circle of a conical frustrum.
985 /// <since_tizen> 3 </since_tizen>
986 public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS;
988 /// The scale of the radius of the bottom circle of a conical frustrum.
990 /// <since_tizen> 3 </since_tizen>
991 public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS;
993 /// The scale of the height of a conic.
995 /// <since_tizen> 3 </since_tizen>
996 public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT;
998 /// The scale of the radius of a cylinder.
1000 /// <since_tizen> 3 </since_tizen>
1001 public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS;
1003 /// The dimensions of a cuboid. Scales in the same fashion as a 9-patch image.
1005 /// <since_tizen> 3 </since_tizen>
1006 public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS;
1008 /// Determines how bevelled the cuboid should be, based off the smallest dimension.
1010 /// <since_tizen> 3 </since_tizen>
1011 public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE;
1013 /// Defines how smooth the bevelled edges should be.
1015 /// <since_tizen> 3 </since_tizen>
1016 public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS;
1018 /// The position, in stage space, of the point light that applies lighting to the model.
1020 /// <since_tizen> 3 </since_tizen>
1021 public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
1025 /// This specifies properties of the TextVisual.
1027 /// <since_tizen> 3 </since_tizen>
1028 public struct TextVisualProperty
1031 /// The text to display in UTF-8 format.
1033 /// <since_tizen> 3 </since_tizen>
1034 public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
1036 /// The requested font family to use.
1038 /// <since_tizen> 3 </since_tizen>
1039 public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
1041 /// The requested font style to use.
1043 /// <since_tizen> 3 </since_tizen>
1044 public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
1046 /// The size of font in points.
1048 /// <since_tizen> 3 </since_tizen>
1049 public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
1051 /// The single-line or multi-line layout option.
1053 /// <since_tizen> 3 </since_tizen>
1054 public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
1056 /// The line horizontal alignment.
1058 /// <since_tizen> 3 </since_tizen>
1059 public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
1061 /// The line vertical alignment.
1063 /// <since_tizen> 3 </since_tizen>
1064 public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
1066 /// The color of the text.
1068 /// <since_tizen> 3 </since_tizen>
1069 public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
1071 /// Whether the mark-up processing is enabled.
1073 /// <since_tizen> 3 </since_tizen>
1074 public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
1076 /// The shadow parameters.
1078 /// <since_tizen> 5 </since_tizen>
1079 public static readonly int Shadow = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 1;
1081 /// The default underline parameters.
1083 /// <since_tizen> 5 </since_tizen>
1084 public static readonly int Underline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 2;
1086 /// The default outline parameters.
1088 /// <since_tizen> 5 </since_tizen>
1089 public static readonly int Outline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 3;
1091 /// The default text background parameters.
1093 /// <since_tizen> 5 </since_tizen>
1094 public static readonly int Background = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 4;
1098 /// This specifies properties of the NpatchImageVisual.
1100 /// <since_tizen> 3 </since_tizen>
1101 public struct NpatchImageVisualProperty
1104 /// The URL of the image.
1106 /// <since_tizen> 3 </since_tizen>
1107 public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
1109 /// Fitting options, used when resizing images to fit desired dimensions.
1111 /// <since_tizen> 3 </since_tizen>
1112 public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
1114 /// Filtering options, used when resizing images to sample original pixels.
1116 /// <since_tizen> 3 </since_tizen>
1117 public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
1119 /// The desired image width.
1121 /// <since_tizen> 3 </since_tizen>
1122 public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
1124 /// The desired image height.
1126 /// <since_tizen> 3 </since_tizen>
1127 public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
1129 /// Whether to load the image synchronously.
1131 /// <since_tizen> 3 </since_tizen>
1132 public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
1134 /// If true, only draws the borders.
1136 /// <since_tizen> 3 </since_tizen>
1137 public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
1139 /// The image area to be displayed.
1141 /// <since_tizen> 3 </since_tizen>
1142 public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
1144 /// The wrap mode for u coordinate.
1146 /// <since_tizen> 3 </since_tizen>
1147 public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
1149 /// The wrap mode for v coordinate.
1151 /// <since_tizen> 3 </since_tizen>
1152 public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
1154 /// The border of the image.
1156 /// <since_tizen> 3 </since_tizen>
1157 public static readonly int Border = NDalic.IMAGE_VISUAL_WRAP_MODE_V + 1;
1161 /// This specifies properties of the ArcVisual.
1163 internal struct ArcVisualProperty
1166 /// The thickness of the arc.
1168 /// <remarks>The value is float type.</remarks>
1169 /// <remarks>This is mandatory property.</remarks>
1170 internal static readonly int Thickness = NDalic.IMAGE_VISUAL_URL;
1173 /// The start angle where the arc begins in degrees.
1175 /// <remarks>The value is float type.</remarks>
1176 /// <remarks>The property of optional. The default value is 0.</remarks>
1177 internal static readonly int StartAngle = Thickness + 1;
1180 /// The sweep angle of the arc in degrees.
1182 /// <remarks>The value is float type.</remarks>
1183 /// <remarks>The property of optional. The default value is 360.</remarks>
1184 internal static readonly int SweepAngle = Thickness + 2;
1187 /// The cap style of the arc.
1190 /// The value is integer type.
1191 /// The value 0 means butt, the arc does not extend beyond its two endpoints.
1192 /// The value 1 means round, the arc will be extended by a half circle with the center at the end.
1194 /// <remarks>The property of optional. The default value is 0 (butt).</remarks>
1195 internal static readonly int Cap = Thickness + 3;