Add a property hint for the Line2D Round Precision property
This prevents choosing extremely high values which cause performance issues for no visual benefit.
This commit is contained in:
parent
73ece5ba19
commit
6b52aa67b8
2 changed files with 4 additions and 6 deletions
|
@ -79,7 +79,8 @@
|
||||||
The points that form the lines. The line is drawn between every point set in this array. Points are interpreted as local vectors.
|
The points that form the lines. The line is drawn between every point set in this array. Points are interpreted as local vectors.
|
||||||
</member>
|
</member>
|
||||||
<member name="round_precision" type="int" setter="set_round_precision" getter="get_round_precision" default="8">
|
<member name="round_precision" type="int" setter="set_round_precision" getter="get_round_precision" default="8">
|
||||||
The smoothness of the rounded joints and caps. This is only used if a cap or joint is set as round.
|
The smoothness of the rounded joints and caps. Higher values result in smoother corners, but are more demanding to render and update. This is only used if a cap or joint is set as round.
|
||||||
|
[b]Note:[/b] The default value is tuned for lines with the default [member width]. For thin lines, this value should be reduced to a number between [code]2[/code] and [code]4[/code] to improve performance.
|
||||||
</member>
|
</member>
|
||||||
<member name="sharp_limit" type="float" setter="set_sharp_limit" getter="get_sharp_limit" default="2.0">
|
<member name="sharp_limit" type="float" setter="set_sharp_limit" getter="get_sharp_limit" default="2.0">
|
||||||
The direction difference in radians between vector points. This value is only used if [member joint_mode] is set to [constant LINE_JOINT_SHARP].
|
The direction difference in radians between vector points. This value is only used if [member joint_mode] is set to [constant LINE_JOINT_SHARP].
|
||||||
|
|
|
@ -247,10 +247,7 @@ float Line2D::get_sharp_limit() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Line2D::set_round_precision(int p_precision) {
|
void Line2D::set_round_precision(int p_precision) {
|
||||||
if (p_precision < 1) {
|
_round_precision = MAX(1, p_precision);
|
||||||
p_precision = 1;
|
|
||||||
}
|
|
||||||
_round_precision = p_precision;
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,7 +406,7 @@ void Line2D::_bind_methods() {
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "end_cap_mode", PROPERTY_HINT_ENUM, "None,Box,Round"), "set_end_cap_mode", "get_end_cap_mode");
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "end_cap_mode", PROPERTY_HINT_ENUM, "None,Box,Round"), "set_end_cap_mode", "get_end_cap_mode");
|
||||||
ADD_GROUP("Border", "");
|
ADD_GROUP("Border", "");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "sharp_limit"), "set_sharp_limit", "get_sharp_limit");
|
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "sharp_limit"), "set_sharp_limit", "get_sharp_limit");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "round_precision"), "set_round_precision", "get_round_precision");
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "round_precision", PROPERTY_HINT_RANGE, "1,32,1"), "set_round_precision", "get_round_precision");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "antialiased"), "set_antialiased", "get_antialiased");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "antialiased"), "set_antialiased", "get_antialiased");
|
||||||
|
|
||||||
BIND_ENUM_CONSTANT(LINE_JOINT_SHARP);
|
BIND_ENUM_CONSTANT(LINE_JOINT_SHARP);
|
||||||
|
|
Loading…
Reference in a new issue