2 * Copyright(c) 2021 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.Collections.Generic;
19 using System.ComponentModel;
20 using System.Diagnostics.CodeAnalysis;
22 namespace Tizen.NUI.BaseComponents.VectorGraphics
25 /// Enumeration for The fill rule of shape.
27 /// <since_tizen> 9 </since_tizen>
28 public enum FillRuleType
31 /// Draw a horizontal line from the point to a location outside the shape. Determine whether the direction of the line at each intersection point is up or down. The winding number is determined by summing the direction of each intersection. If the number is non zero, the point is inside the shape.
35 /// Draw a horizontal line from the point to a location outside the shape, and count the number of intersections. If the number of intersections is an odd number, the point is inside the shape.
41 /// Enumeration for The cap style to be used for stroking the path.
43 /// <since_tizen> 9 </since_tizen>
44 public enum StrokeCapType
47 /// The end of lines is rendered as a square around the last point.
51 /// The end of lines is rendered as a half-circle around the last point.
55 /// The end of lines is rendered as a full stop on the last point itself.
61 /// numeration for The join style to be used for stroking the path.
63 /// <since_tizen> 9 </since_tizen>
64 public enum StrokeJoinType
67 /// Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke.
71 /// Used to render rounded line joins. Circular arcs are used to join two lines smoothly.
75 /// Used to render mitered line joins. The intersection of the strokes is clipped at a line perpendicular to the bisector of the angle between the strokes, at the distance from the intersection of the segments equal to the product of the miter limit value and the border radius. This prevents long spikes being created.
81 /// Enumeration indicating the type used in the masking of two objects - the mask drawable and the own drawable.
83 /// <since_tizen> 9 </since_tizen>
87 /// The pixels of the own drawable and the mask drawable are alpha blended. As a result, only the part of the own drawable, which intersects with the mask drawable is visible.
91 /// The pixels of the own drawable and the complement to the mask drawable's pixels are alpha blended. As a result, only the part of the own which is not covered by the mask is visible.
97 /// Enumeration specifying how to fill the area outside the gradient bounds.
99 /// <since_tizen> 9 </since_tizen>
100 public enum SpreadType
103 /// The remaining area is filled with the closest stop color.
107 /// The gradient pattern is reflected outside the gradient area until the expected region is filled.
111 /// The gradient pattern is repeated continuously beyond the gradient area until the expected region is filled.
117 /// Enumeration specifying the values of the path commands.
118 /// Not to be confused with the path commands from the svg path element (like M, L, Q, H and many others).
120 /// <since_tizen> 9 </since_tizen>
121 public enum PathCommandType
124 /// Ends the current sub-path and connects it with its initial point. This command doesn't expect any points.
128 /// Sets a new initial point of the sub-path and a new current point. This command expects 1 point: the starting position.
132 /// Draws a line from the current point to the given point and sets a new value of the current point. This command expects 1 point: the end-position of the line.
136 /// Draws a cubic Bezier curve from the current point to the given point using two given control points and sets a new value of the current point. This command expects 3 points: the 1st control-point, the 2nd control-point, the end-point of the curve.