// Copyright (c) 2019 Samsung Electronics Co., Ltd. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. using System.ComponentModel; namespace Tizen.NUI { /// /// Specifies the release policy types.
/// Decides if the image should be cached in different conditions. ///
/// 5 public enum ReleasePolicyType { /// /// Image is released when visual detached from scene. /// Detached = 0, /// /// Image is only released when visual is destroyed. /// Destroyed, /// /// Image is not released. /// Never } /// /// Specifies the load policy types.
/// Decides when the image texture should be loaded. ///
/// 5 public enum LoadPolicyType { /// /// Load texture once the image source has been provided. Even if not being used yet. /// Immediate = 0, /// /// Only load texture once the visual is attached, when the image needs to be shown. /// Attached } /// /// Enumeration for the horizontal alignment of objects such as texts and layout items. /// /// 3 public enum HorizontalAlignment { /// /// Objects are placed at the beginning of the horizontal direction. /// [Description("BEGIN")] Begin, /// /// Objects are placed at the center of the horizontal direction. /// [Description("CENTER")] Center, /// /// Objects are placed at the end of the horizontal direction. /// [Description("END")] End } /// /// Enumeration for the vertical alignment of objects such as texts and layout items. /// /// 3 public enum VerticalAlignment { /// /// Objects are placed at the top of the vertical direction. /// [Description("TOP")] Top, /// /// Objects are placed at the center of the vertical direction. /// [Description("CENTER")] Center, /// /// Objects are placed at the bottom of the vertical direction. /// [Description("BOTTOM")] Bottom } /// /// This specifies wrap mode types.
/// 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. ///
/// 3 public enum WrapModeType { /// /// The default value. /// Default = 0, /// /// Clamp to edge. /// ClampToEdge, /// /// Repeat. /// Repeat, /// /// Mirrored repeat. /// MirroredRepeat } /// /// This specifies fitting mode types. Fitting options, used when resizing images to fit desired dimensions.
/// A fitting mode controls the region of a loaded image to be mapped to the desired image rectangle.
/// All fitting modes preserve the aspect ratio of the image contents.
///
/// 3 public enum FittingModeType { /// /// Full-screen image display: Limit loaded image resolution to device resolution using the ShrinkToFit mode. /// ShrinkToFit, /// /// Thumbnail gallery grid: Limit loaded image resolution to screen tile using the ScaleToFill mode. /// ScaleToFill, /// /// Image columns: Limit loaded image resolution to column width using the FitWidth mode. /// FitWidth, /// /// Image rows: Limit loaded image resolution to row height using the FitHeight mode. /// FitHeight, /// /// Image displayed in its original size (no scaling) using the Center mode. /// [EditorBrowsable(EditorBrowsableState.Never)] Center, /// /// Image stretched to fill the desired area (aspect ratio could be changed) using the Fill mode. /// [EditorBrowsable(EditorBrowsableState.Never)] Fill } /// /// This specifies sampling mode types. Filtering options are used when resizing images to sample original pixels.
/// A SamplingMode controls how pixels in an input image are sampled and combined to generate each pixel of a destination image during scaling.
/// NoFilter and Box modes do not guarantee that the output pixel array exactly matches the rectangle specified by the desired dimensions and the FittingMode,
/// but all other filter modes do if the desired dimensions are not more than the raw dimensions of the input image file.
///
/// 3 public enum SamplingModeType { /// /// Iteratively box filter to generate an image of 1/2, 1/4, 1/8, etc. width and height and approximately the desired size.
/// This is the default. ///
Box, /// /// For each output pixel, read one input pixel. /// Nearest, /// /// For each output pixel, read a quad of four input pixels and write a weighted average of them. /// Linear, /// /// Iteratively box filter to generate an image of 1/2, 1/4, 1/8, etc. width and height and approximately the desired size,
/// then for each output pixel, read one pixel from the last level of box filtering.
///
BoxThenNearest, /// /// 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. /// BoxThenLinear, /// /// 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. /// NoFilter, /// /// For caching algorithms where a client strongly prefers a cache-hit to reuse a cached image. /// DontCare } /// /// The type of coordinate system for certain attributes of the points in a gradient. /// /// 3 public enum GradientVisualUnitsType { /// /// 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). /// ObjectBoundingBox, /// /// 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). /// UserSpace } /// /// This specifies SpreadMethod types.
/// SpreadMethod defines what happens if the gradient starts or ends inside the bounds of the target rectangle.
///
/// 3 public enum GradientVisualSpreadMethodType { /// /// Uses the terminal colors of the gradient to fill the remainder of the quad. /// Pad, /// /// Reflects the gradient pattern start-to-end, end-to-start, start-to-end, etc. until the quad is filled. /// Reflect, /// /// Repeats the gradient pattern start-to-end, start-to-end, start-to-end, etc. until the quad is filled. /// Repeat } /// /// The shading mode used by the mesh visual. /// /// 3 public enum MeshVisualShadingModeValue { /// /// *Simplest*. One color that is lit by ambient and diffuse lighting. /// TexturelessWithDiffuseLighting, /// /// Uses only the visual image textures provided with specular lighting in addition to ambient and diffuse lighting. /// TexturedWithSpecularLighting, /// /// Uses all textures provided including gloss, normal, and texture map along with specular, ambient, and diffuse lighting. /// TexturedWithDetailedSpecularLighting } /// /// The primitive shape to render as a primitive visual. /// /// 3 public enum PrimitiveVisualShapeType { /// /// A perfectly round geometrical object in the three-dimensional space. /// Sphere, /// /// The area bound between two circles, i.e., a cone with the tip removed. /// ConicalFrustrum, /// /// Equivalent to a conical frustum with the top radius of zero. /// Equivalent to a conical frustum with the top radius of zero. Cone, /// /// Equivalent to a conical frustum with the top radius of zero. /// Cylinder, /// /// Equivalent to a conical frustum with equal radii for the top and bottom circles. /// Cube, /// /// Equivalent to a bevelled cube with a bevel percentage of zero. /// Octahedron, /// /// Equivalent to a bevelled cube with a bevel percentage of one. /// BevelledCube } /// /// The values of this enum determine how the visual should fit into the view. /// /// 5 public enum VisualFittingModeType { /// /// The visual should be scaled to fit, preserving aspect ratio. /// FitKeepAspectRatio, /// /// The visual should be stretched to fill, not preserving aspect ratio. /// Fill, /// /// The visual should be scaled to fit, preserving aspect ratio. The visual will be filled without empty area, and outside is cropped away. /// [EditorBrowsable(EditorBrowsableState.Never)] OverFitKeepAspectRatio, /// /// The visual should keep original size of image. it is not scaled and not stretched. /// [EditorBrowsable(EditorBrowsableState.Never)] Center, /// /// The visual should be scaled to fit, preserving aspect ratio. Height is scaled proportionately to maintain aspect ratio. /// [EditorBrowsable(EditorBrowsableState.Never)] FitHeight, /// /// The visual should be scaled to fit, preserving aspect ratio. WIDTH is scaled proportionately to maintain aspect ratio. /// [EditorBrowsable(EditorBrowsableState.Never)] FitWidth, } /// /// This specifies policy types that could be used by the transform for the offset or size. /// /// 3 public enum VisualTransformPolicyType { /// /// Relative to the control (percentage [0.0f to 1.0f] of the control). /// Relative = 0, /// /// Absolute value in world units. /// Absolute = 1 } /// /// This specifies all the transform property types. /// /// 3 public enum VisualTransformPropertyType { /// /// Offset of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units). /// Offset, /// /// Size of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units). /// Size, /// /// The origin of the visual within its control area. /// Origin, /// /// The anchor-point of the visual. /// AnchorPoint, /// /// Whether the x or y offset values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units). /// OffsetPolicy, /// /// Whether the width or the height size values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units). /// SizePolicy, /// /// Extra size value that will be added to the computed visual size. /// [EditorBrowsable(EditorBrowsableState.Never)] ExtraSize, } /// /// This specifies visual types. /// /// 3 public struct Visual { /// /// The index for the visual type. /// /// 3 public enum Type { /// /// Renders a solid color as an internal border to the control's quad. /// Border, /// /// Renders a solid color to the control's quad. /// Color, /// /// Renders a smooth transition of colors to the control's quad. /// Gradient, /// /// Renders an image into the control's quad. /// Image, /// /// Renders a mesh using an "obj" file, optionally with textures provided by an "mtl" file. /// Mesh, /// /// Renders a simple 3D shape, such as a cube or a sphere. /// Primitive, /// /// Renders a simple wire-frame outlining a quad. /// Wireframe, /// /// Renders text. /// Text, /// /// Renders an NPatch image. /// NPatch, /// /// Renders an SVG image. /// SVG, /// /// Renders a animated image (animated GIF). /// AnimatedImage, /// /// Renders an animated gradient. /// [EditorBrowsable(EditorBrowsableState.Never)] AnimatedGradient = Visual.Type.AnimatedImage + 1, /// /// Renders an animated vector image. /// [EditorBrowsable(EditorBrowsableState.Never)] AnimatedVectorImage = Visual.Type.AnimatedImage + 2, /// /// Renders an arc. /// [EditorBrowsable(EditorBrowsableState.Never)] Arc = AnimatedImage + 3, /// /// Keyword for invalid visual type. (NUI only) /// [EditorBrowsable(EditorBrowsableState.Never)] Invalid = Border - 1, } /// /// This specifies visual properties. /// /// 3 [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1716: Identifiers should not match keywords")] public struct Property { /// /// Type. /// /// 3 public static readonly int Type = NDalic.VisualPropertyType; /// /// Shader. /// /// 3 public static readonly int Shader = NDalic.VisualPropertyShader; /// /// Transform. /// /// 3 public static readonly int Transform = NDalic.VisualPropertyTransform; /// /// PremultipliedAlpha. /// /// 3 public static readonly int PremultipliedAlpha = NDalic.VisualPropertyPremultipliedAlpha; /// /// MixColor. /// /// 3 public static readonly int MixColor = NDalic.VisualPropertyMixColor; /// /// Opacity. /// /// 3 public static readonly int Opacity = NDalic.VisualPropertyMixColor + 1; /// /// The fitting mode of the visual. /// /// 5 public static readonly int VisualFittingMode = NDalic.VisualPropertyMixColor + 2; /// /// The corner radius of the visual. /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int CornerRadius = NDalic.VisualPropertyMixColor + 3; /// /// The corner radius policy of the visual. /// Whether the corner radius value is relative (percentage [0.0f to 1.0f] of the visual size) or absolute (in world units). /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int CornerRadiusPolicy = NDalic.VisualPropertyMixColor + 4; /// /// The borderline width of the visual. /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int BorderlineWidth = NDalic.VisualPropertyMixColor + 5; /// /// The borderline color of the visual. /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int BorderlineColor = NDalic.VisualPropertyMixColor + 6; /// /// The borderline offset of the visual. /// Relative position of borderline. (percentage [-1.0f to 1.0f]). /// If -1.0f, borderline draw inside of visual /// If 1.0f, borderline draw outside of visual /// If 0.0f, half draw inside and half draw outside of visual /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int BorderlineOffset = NDalic.VisualPropertyMixColor + 7; } /// /// This specifies shader properties. /// /// 3 public struct ShaderProperty { /// /// Vertex shader code /// /// 3 public static readonly int VertexShader = NDalic.VisualShaderVertex; /// /// Fragment shader code /// /// 3 public static readonly int FragmentShader = NDalic.VisualShaderFragment; /// /// How to subdivide the grid along X /// /// 3 public static readonly int ShaderSubdivideGridX = NDalic.VisualShaderSubdivideGridX; /// /// How to subdivide the grid along Y /// /// 3 public static readonly int ShaderSubdivideGridY = NDalic.VisualShaderSubdivideGridY; /// /// Bitmask of hints /// /// 3 public static readonly int ShaderHints = NDalic.VisualShaderHints; } /// /// This specifies visual align types. /// /// 3 public enum AlignType { /// /// TopBegin /// /// 3 TopBegin = 0, /// /// TopCenter /// /// 3 TopCenter, /// /// TopEnd /// /// 3 TopEnd, /// /// CenterBegin /// /// 3 CenterBegin, /// /// Center /// /// 3 Center, /// /// CenterEnd /// /// 3 CenterEnd, /// /// BottomBegin /// /// 3 BottomBegin, /// /// BottomCenter /// /// 3 BottomCenter, /// /// BottomEnd /// /// 3 BottomEnd } } /// /// This specifies properties of the BorderVisual. /// /// 3 public struct BorderVisualProperty { /// /// The color of the border. /// /// 3 public static readonly int Color = NDalic.BorderVisualColor; /// /// The width of the border (in pixels). /// /// 3 public static readonly int Size = NDalic.BorderVisualSize; /// /// Whether anti-aliasing of the border is required. /// /// 3 public static readonly int AntiAliasing = NDalic.BorderVisualAntiAliasing; } /// /// This specifies properties of the ColorVisual. /// /// 3 public struct ColorVisualProperty { /// /// The solid color required. /// /// 3 public static readonly int MixColor = NDalic.ColorVisualMixColor; /// /// Whether to render if the MixColor is transparent. /// /// 5 public static readonly int RenderIfTransparent = NDalic.ColorVisualMixColor + 1; /// /// Then radius value for the area to blur. /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int BlurRadius = NDalic.ColorVisualMixColor + 2; } /// /// This specifies properties of the GradientVisual. /// /// 3 public struct GradientVisualProperty { /// /// The start position of a linear gradient. /// /// 3 public static readonly int StartPosition = NDalic.GradientVisualStartPosition; /// /// The end position of a linear gradient. /// /// 3 public static readonly int EndPosition = NDalic.GradientVisualEndPosition; /// /// The center point of a radial gradient. /// /// 3 public static readonly int Center = NDalic.GradientVisualCenter; /// /// The size of the radius of a radial gradient. /// /// 3 public static readonly int Radius = NDalic.GradientVisualRadius; /// /// All the stop offsets. /// /// 3 public static readonly int StopOffset = NDalic.GradientVisualStopOffset; /// /// The color at the stop offsets. /// /// 3 public static readonly int StopColor = NDalic.GradientVisualStopColor; /// /// Defines the coordinate system for certain attributes of the points in a gradient. /// /// 3 public static readonly int Units = NDalic.GradientVisualUnits; /// /// Indicates what happens if the gradient starts or ends inside the bounds of the target rectangle. /// /// 3 public static readonly int SpreadMethod = NDalic.GradientVisualSpreadMethod; } /// /// This specifies properties of the ImageVisual. /// /// 3 public struct ImageVisualProperty { /// /// The URL of the image. /// /// 3 public static readonly int URL = NDalic.ImageVisualUrl; /// /// Fitting options, used when resizing images to fit desired dimensions. /// /// 3 public static readonly int FittingMode = NDalic.ImageVisualFittingMode; /// /// Filtering options, used when resizing images to sample original pixels. /// /// 3 public static readonly int SamplingMode = NDalic.ImageVisualSamplingMode; /// /// The desired image width. /// /// 3 public static readonly int DesiredWidth = NDalic.ImageVisualDesiredWidth; /// /// The desired image height. /// /// 3 public static readonly int DesiredHeight = NDalic.ImageVisualDesiredHeight; /// /// Whether to load the image synchronously. /// /// 3 public static readonly int SynchronousLoading = NDalic.ImageVisualSynchronousLoading; /// /// If true, only draws the borders. /// /// 3 public static readonly int BorderOnly = NDalic.ImageVisualBorderOnly; /// /// The image area to be displayed. /// /// 3 public static readonly int PixelArea = NDalic.ImageVisualPixelArea; /// /// The wrap mode for u coordinate. /// /// 3 public static readonly int WrapModeU = NDalic.ImageVisualWrapModeU; /// /// The wrap mode for v coordinate. /// /// 3 public static readonly int WrapModeV = NDalic.ImageVisualWrapModeV; /// /// The border of the image. /// /// 3 public static readonly int Border = NDalic.ImageVisualBorder; /// /// Whether to use the texture atlas. /// /// 5 public static readonly int Atlasing = NDalic.ImageVisualBorder + 1; /// /// The URL of the alpha mask image. /// /// 3 public static readonly int AlphaMaskURL = NDalic.ImageVisualAlphaMaskUrl; /// /// Defines the batch size for pre-loading images in the AnimatedImageVisual /// /// 4 public static readonly int BatchSize = NDalic.ImageVisualBatchSize; /// /// Defines the cache size for loading images in the AnimatedImageVisual /// /// 4 public static readonly int CacheSize = NDalic.ImageVisualCacheSize; /// /// The number of milliseconds between each frame in the AnimatedImageVisual /// /// 4 public static readonly int FrameDelay = NDalic.ImageVisualFrameDelay; /// /// The scale factor to apply to the content image before masking. /// /// 4 public static readonly int MaskContentScale = NDalic.ImageVisualMaskContentScale; /// /// Whether to crop image to mask or scale mask to fit image /// /// 4 public static readonly int CropToMask = NDalic.ImageVisualCropToMask; /// /// The policy to determine when an image should be loaded. /// /// 5 public static readonly int LoadPolicy = NDalic.ImageVisualLoadPolicy; /// /// The policy to determine when an image should no longer be cached. /// /// 5 public static readonly int ReleasePolicy = NDalic.ImageVisualReleasePolicy; /// /// Determines if image orientation should be corrected so that the image displays as it was intended. /// /// 5 public static readonly int OrientationCorrection = NDalic.ImageVisualOrientationCorrection; /// /// Overlays the auxiliary image on top of an NPatch image. /// /// 5 public static readonly int AuxiliaryImageURL = NDalic.ImageVisualAuxiliaryImageUrl; /// /// Alpha value for the auxiliary image, without affecting the underlying NPatch image /// /// 5 public static readonly int AuxiliaryImageAlpha = NDalic.ImageVisualAuxiliaryImageAlpha; /// /// The number of times the AnimatedImageVisual will be looped. /// The default is -1. If the value is less than 0, loop unlimited. Otherwise, loop loopCount times. /// /// 5 public static readonly int LoopCount = NDalic.ImageVisualLoopCount; /// /// @brief The playing range the AnimatedVectorImageVisual will use. /// Animation will play between the values specified.The array can only have two values, and more will be ignored. /// Both values should be between 0 and the total frame number, otherwise they will be ignored. /// If the range provided is not in proper order (minimum, maximum), it will be reordered. /// @details Name "playRange", Type Property::ARRAY of Property::INTEGER /// @note Default 0 and the total frame number. /// /// /// Hidden API (Inhouse API) /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int PlayRange = NDalic.ImageVisualOrientationCorrection + 4; /// /// @brief The playing state the AnimatedVectorImageVisual will use. /// @details Name "playState", type PlayState (Property::INTEGER) /// @note This property is read-only. /// /// /// Hidden API (Inhouse API) /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int PlayState = NDalic.ImageVisualOrientationCorrection + 5; /// /// @brief The current frame number the AnimatedVectorImageVisual will use. /// @details Name "currentFrameNumber", Type Property::INTEGER, between[0, the maximum frame number] or between the play range if specified /// @note This property is read-only. /// /// /// Inhouse API /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int CurrentFrameNumber = NDalic.ImageVisualOrientationCorrection + 6; /// /// @brief The total frame number the AnimatedVectorImageVisual will use. /// @details Name "totalFrameNumber", Type Property::INTEGER. /// @note This property is read-only. /// /// /// Inhouse API /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int TotalFrameNumber = NDalic.ImageVisualOrientationCorrection + 7; /// /// @brief The stop behavior the AnimatedVectorImageVisual will use. /// @details Name "stopBehavior", Type StopBehavior::Type (Property::INTEGER) /// @note Default value is StopBehavior::CURRENT_FRAME. /// /// /// Inhouse API /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int StopBehavior = NDalic.ImageVisualOrientationCorrection + 8; /// /// @brief The looping mode the AnimatedVectorImageVisual will use. /// @details Name "loopingMode", Type LoopingMode::Type (Property::INTEGER) /// @note Default value is LoopingMode::RESTART. /// /// /// Inhouse API /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int LoopingMode = NDalic.ImageVisualOrientationCorrection + 9; /// /// @brief The content information the AnimatedVectorImageVisual will use. /// @details Name "contentInfo", Type Property::MAP. /// The map contains the layer name as a key and Property::Array as a value. /// And the array contains 2 integer values which are the frame numbers, the start frame number and the end frame number of the layer. /// @note This property is read-only. /// /// /// Inhouse API /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int ContentInfo = NDalic.ImageVisualOrientationCorrection + 10; /// /// @brief Whether to redraw the image when the visual is scaled down. /// @details Name "redrawInScalingDown", type Property::BOOLEAN. /// @note It is used in the AnimatedVectorImageVisual.The default is true. /// /// /// Inhouse API /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int RedrawInScalingDown = NDalic.ImageVisualOrientationCorrection + 11; /// /// @brief Whether to apply mask on the GPU or not. /// @details Name "MaskingMode", type MaskingModeType (Property::INTEGER). /// @note It is used in the ImageVisual, and AnimatedImageVisual.The default is MaskingOnLoading. /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int MaskingMode = NDalic.ImageVisualOrientationCorrection + 12; /// /// @brief Whether to uploading texture before ResourceReady signal emit or after texture load completed time. /// @details Name "fastTrackUploading", type Property::BOOLEAN. /// @note It is used in the ImageVisual. The default is false. /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int FastTrackUploading = NDalic.ImageVisualOrientationCorrection + 13; /// /// @brief The marker information the AnimatedVectorImageVisual will use. /// @details Type Property::MAP. /// The map contains the marker name as a key and Property::Array as a value. /// And the array contains 2 integer values which are the frame numbers, the start frame number and the end frame number of the marker. /// @note This property is read-only. /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int MarkerInfo = NDalic.ImageVisualOrientationCorrection + 15; } /// /// This specifies properties of the MeshVisual. /// /// 3 public struct MeshVisualProperty { /// /// The location of the ".obj" file. /// /// 3 public static readonly int ObjectURL = NDalic.MeshVisualObjectUrl; /// /// The location of the ".mtl" file. /// [EditorBrowsable(EditorBrowsableState.Never)] public static readonly int MaterialURL = NDalic.MeshVisualMaterialUrl; /// /// The location of the ".mtl" file. /// /// 3 public static readonly int MaterialtURL = NDalic.MeshVisualMaterialUrl; /// /// Path to the directory the textures (including gloss and normal) are stored in. /// /// 3 public static readonly int TexturesPath = NDalic.MeshVisualTexturesPath; /// /// Sets the type of shading mode that the mesh will use. /// /// 3 public static readonly int ShadingMode = NDalic.MeshVisualShadingMode; /// /// Whether to use mipmaps for textures or not. /// /// 3 public static readonly int UseMipmapping = NDalic.MeshVisualUseMipmapping; /// /// Whether to average normals at each point to smooth textures or not. /// /// 3 public static readonly int UseSoftNormals = NDalic.MeshVisualUseSoftNormals; /// /// The position, in stage space, of the point light that applies lighting to the model. /// /// 3 public static readonly int LightPosition = NDalic.MeshVisualLightPosition; } /// /// This specifies properties of the PrimitiveVisual. /// /// 3 public struct PrimitiveVisualProperty { /// /// The specific shape to render. /// /// 3 public static readonly int Shape = NDalic.PrimitiveVisualShape; /// /// The color of the shape. /// /// 3 public static readonly int MixColor = NDalic.PrimitiveVisualMixColor; /// /// The number of slices as you go around the shape. /// /// 3 public static readonly int Slices = NDalic.PrimitiveVisualSlices; /// /// The number of stacks as you go down the shape. /// /// 3 public static readonly int Stacks = NDalic.PrimitiveVisualStacks; /// /// The scale of the radius of the top circle of a conical frustum. /// /// 3 public static readonly int ScaleTopRadius = NDalic.PrimitiveVisualScaleTopRadius; /// /// The scale of the radius of the bottom circle of a conical frustum. /// /// 3 public static readonly int ScaleBottomRadius = NDalic.PrimitiveVisualScaleBottomRadius; /// /// The scale of the height of a conic. /// /// 3 public static readonly int ScaleHeight = NDalic.PrimitiveVisualScaleHeight; /// /// The scale of the radius of a cylinder. /// /// 3 public static readonly int ScaleRadius = NDalic.PrimitiveVisualScaleRadius; /// /// The dimensions of a cuboid. Scales in the same fashion as a 9-patch image. /// /// 3 public static readonly int ScaleDimensions = NDalic.PrimitiveVisualScaleDimensions; /// /// Determines how bevelled the cuboid should be, based off the smallest dimension. /// /// 3 public static readonly int BevelPercentage = NDalic.PrimitiveVisualBevelPercentage; /// /// Defines how smooth the bevelled edges should be. /// /// 3 public static readonly int BevelSmoothness = NDalic.PrimitiveVisualBevelSmoothness; /// /// The position, in stage space, of the point light that applies lighting to the model. /// /// 3 public static readonly int LightPosition = NDalic.PrimitiveVisualLightPosition; } /// /// This specifies properties of the TextVisual. /// /// 3 public struct TextVisualProperty { /// /// The text to display in UTF-8 format. /// /// 3 public static readonly int Text = NDalic.TextVisualText; /// /// The requested font family to use. /// /// 3 public static readonly int FontFamily = NDalic.TextVisualFontFamily; /// /// The requested font style to use. /// /// 3 public static readonly int FontStyle = NDalic.TextVisualFontStyle; /// /// The size of font in points. /// /// 3 public static readonly int PointSize = NDalic.TextVisualPointSize; /// /// The single-line or multi-line layout option. /// /// 3 public static readonly int MultiLine = NDalic.TextVisualMultiLine; /// /// The line horizontal alignment. /// /// 3 public static readonly int HorizontalAlignment = NDalic.TextVisualHorizontalAlignment; /// /// The line vertical alignment. /// /// 3 public static readonly int VerticalAlignment = NDalic.TextVisualVerticalAlignment; /// /// The color of the text. /// /// 3 public static readonly int TextColor = NDalic.TextVisualTextColor; /// /// Whether the mark-up processing is enabled. /// /// 3 public static readonly int EnableMarkup = NDalic.TextVisualEnableMarkup; /// /// The shadow parameters. /// /// 5 public static readonly int Shadow = NDalic.TextVisualEnableMarkup + 1; /// /// The default underline parameters. /// /// 5 public static readonly int Underline = NDalic.TextVisualEnableMarkup + 2; /// /// The default outline parameters. /// /// 5 public static readonly int Outline = NDalic.TextVisualEnableMarkup + 3; /// /// The default text background parameters. /// /// 5 public static readonly int Background = NDalic.TextVisualEnableMarkup + 4; } /// /// This specifies properties of the NpatchImageVisual. /// /// 3 public struct NpatchImageVisualProperty { /// /// The URL of the image. /// /// 3 public static readonly int URL = NDalic.ImageVisualUrl; /// /// Fitting options, used when resizing images to fit desired dimensions. /// /// 3 public static readonly int FittingMode = NDalic.ImageVisualFittingMode; /// /// Filtering options, used when resizing images to sample original pixels. /// /// 3 public static readonly int SamplingMode = NDalic.ImageVisualSamplingMode; /// /// The desired image width. /// /// 3 public static readonly int DesiredWidth = NDalic.ImageVisualDesiredWidth; /// /// The desired image height. /// /// 3 public static readonly int DesiredHeight = NDalic.ImageVisualDesiredHeight; /// /// Whether to load the image synchronously. /// /// 3 public static readonly int SynchronousLoading = NDalic.ImageVisualSynchronousLoading; /// /// If true, only draws the borders. /// /// 3 public static readonly int BorderOnly = NDalic.ImageVisualBorderOnly; /// /// The image area to be displayed. /// /// 3 public static readonly int PixelArea = NDalic.ImageVisualPixelArea; /// /// The wrap mode for u coordinate. /// /// 3 public static readonly int WrapModeU = NDalic.ImageVisualWrapModeU; /// /// The wrap mode for v coordinate. /// /// 3 public static readonly int WrapModeV = NDalic.ImageVisualWrapModeV; /// /// The border of the image. /// /// 3 public static readonly int Border = NDalic.ImageVisualWrapModeV + 1; } /// /// This specifies properties of the ArcVisual. /// internal struct ArcVisualProperty { /// /// The thickness of the arc. /// /// The value is float type. /// This is mandatory property. internal static readonly int Thickness = NDalic.ImageVisualUrl; /// /// The start angle where the arc begins in degrees. /// /// The value is float type. /// The property of optional. The default value is 0. internal static readonly int StartAngle = Thickness + 1; /// /// The sweep angle of the arc in degrees. /// /// The value is float type. /// The property of optional. The default value is 360. internal static readonly int SweepAngle = Thickness + 2; /// /// The cap style of the arc. /// /// /// The value is integer type. /// The value 0 means butt, the arc does not extend beyond its two endpoints. /// The value 1 means round, the arc will be extended by a half circle with the center at the end. /// /// The property of optional. The default value is 0 (butt). internal static readonly int Cap = Thickness + 3; } /// /// Enumeration for Circular alignment. /// The @p horizontalAlignment and @p verticalAlignment can be used to align the text within the text area. /// [EditorBrowsable(EditorBrowsableState.Never)] public enum CircularAlignment { /// /// Texts place at the begin of Circular direction. /// [Description("BEGIN")] Begin, /// /// Texts place at the center of Circular direction. /// [Description("CENTER")] Center, /// /// Texts place at the end of Circular direction. /// [Description("END")] End } /// /// Enumeration for Text Layout. /// [EditorBrowsable(EditorBrowsableState.Never)] public enum TextLayout { /// /// SingleLine. /// [Description("singleLine")] SingleLine, /// /// MultiLine. /// [Description("multiLine")] MultiLine, /// /// Circular. /// [Description("circular")] Circular } /// /// Defines how a color is blended. /// /// This will be public opened after ACR done. Before ACR, need to be hidden as inhouse API. [EditorBrowsable(EditorBrowsableState.Never)] public enum ColorBlendingMode { /// /// No blend. /// None, /// /// The color is multiplied by another one. /// Multiply }; }