|
@@ -279,8 +279,8 @@ void Label::_notification(int p_what) {
|
|
|
return; // Nothing new.
|
|
|
}
|
|
|
xl_text = new_text;
|
|
|
- if (percent_visible < 1) {
|
|
|
- visible_chars = get_total_character_count() * percent_visible;
|
|
|
+ if (visible_ratio < 1) {
|
|
|
+ visible_chars = get_total_character_count() * visible_ratio;
|
|
|
}
|
|
|
dirty = true;
|
|
|
|
|
@@ -348,7 +348,7 @@ void Label::_notification(int p_what) {
|
|
|
total_h += TS->shaped_text_get_size(lines_rid[i]).y + line_spacing;
|
|
|
total_glyphs += TS->shaped_text_get_glyph_count(lines_rid[i]) + TS->shaped_text_get_ellipsis_glyph_count(lines_rid[i]);
|
|
|
}
|
|
|
- int visible_glyphs = total_glyphs * percent_visible;
|
|
|
+ int visible_glyphs = total_glyphs * visible_ratio;
|
|
|
int processed_glyphs = 0;
|
|
|
total_h += style->get_margin(SIDE_TOP) + style->get_margin(SIDE_BOTTOM);
|
|
|
|
|
@@ -652,8 +652,8 @@ void Label::set_text(const String &p_string) {
|
|
|
text = p_string;
|
|
|
xl_text = atr(p_string);
|
|
|
dirty = true;
|
|
|
- if (percent_visible < 1) {
|
|
|
- visible_chars = get_total_character_count() * percent_visible;
|
|
|
+ if (visible_ratio < 1) {
|
|
|
+ visible_chars = get_total_character_count() * visible_ratio;
|
|
|
}
|
|
|
update();
|
|
|
update_minimum_size();
|
|
@@ -771,9 +771,9 @@ void Label::set_visible_characters(int p_amount) {
|
|
|
if (visible_chars != p_amount) {
|
|
|
visible_chars = p_amount;
|
|
|
if (get_total_character_count() > 0) {
|
|
|
- percent_visible = (float)p_amount / (float)get_total_character_count();
|
|
|
+ visible_ratio = (float)p_amount / (float)get_total_character_count();
|
|
|
} else {
|
|
|
- percent_visible = 1.0;
|
|
|
+ visible_ratio = 1.0;
|
|
|
}
|
|
|
if (visible_chars_behavior == TextServer::VC_CHARS_BEFORE_SHAPING) {
|
|
|
dirty = true;
|
|
@@ -786,17 +786,17 @@ int Label::get_visible_characters() const {
|
|
|
return visible_chars;
|
|
|
}
|
|
|
|
|
|
-void Label::set_percent_visible(float p_percent) {
|
|
|
- if (percent_visible != p_percent) {
|
|
|
- if (percent_visible >= 1.0) {
|
|
|
+void Label::set_visible_ratio(float p_ratio) {
|
|
|
+ if (visible_ratio != p_ratio) {
|
|
|
+ if (visible_ratio >= 1.0) {
|
|
|
visible_chars = -1;
|
|
|
- percent_visible = 1.0;
|
|
|
- } else if (percent_visible < 0.0) {
|
|
|
+ visible_ratio = 1.0;
|
|
|
+ } else if (visible_ratio < 0.0) {
|
|
|
visible_chars = 0;
|
|
|
- percent_visible = 0.0;
|
|
|
+ visible_ratio = 0.0;
|
|
|
} else {
|
|
|
- visible_chars = get_total_character_count() * p_percent;
|
|
|
- percent_visible = p_percent;
|
|
|
+ visible_chars = get_total_character_count() * p_ratio;
|
|
|
+ visible_ratio = p_ratio;
|
|
|
}
|
|
|
|
|
|
if (visible_chars_behavior == TextServer::VC_CHARS_BEFORE_SHAPING) {
|
|
@@ -806,8 +806,8 @@ void Label::set_percent_visible(float p_percent) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-float Label::get_percent_visible() const {
|
|
|
- return percent_visible;
|
|
|
+float Label::get_visible_ratio() const {
|
|
|
+ return visible_ratio;
|
|
|
}
|
|
|
|
|
|
TextServer::VisibleCharactersBehavior Label::get_visible_characters_behavior() const {
|
|
@@ -889,8 +889,8 @@ void Label::_bind_methods() {
|
|
|
ClassDB::bind_method(D_METHOD("get_visible_characters"), &Label::get_visible_characters);
|
|
|
ClassDB::bind_method(D_METHOD("get_visible_characters_behavior"), &Label::get_visible_characters_behavior);
|
|
|
ClassDB::bind_method(D_METHOD("set_visible_characters_behavior", "behavior"), &Label::set_visible_characters_behavior);
|
|
|
- ClassDB::bind_method(D_METHOD("set_percent_visible", "percent_visible"), &Label::set_percent_visible);
|
|
|
- ClassDB::bind_method(D_METHOD("get_percent_visible"), &Label::get_percent_visible);
|
|
|
+ ClassDB::bind_method(D_METHOD("set_visible_ratio", "ratio"), &Label::set_visible_ratio);
|
|
|
+ ClassDB::bind_method(D_METHOD("get_visible_ratio"), &Label::get_visible_ratio);
|
|
|
ClassDB::bind_method(D_METHOD("set_lines_skipped", "lines_skipped"), &Label::set_lines_skipped);
|
|
|
ClassDB::bind_method(D_METHOD("get_lines_skipped"), &Label::get_lines_skipped);
|
|
|
ClassDB::bind_method(D_METHOD("set_max_lines_visible", "lines_visible"), &Label::set_max_lines_visible);
|
|
@@ -911,10 +911,10 @@ void Label::_bind_methods() {
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "lines_skipped", PROPERTY_HINT_RANGE, "0,999,1"), "set_lines_skipped", "get_lines_skipped");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "max_lines_visible", PROPERTY_HINT_RANGE, "-1,999,1"), "set_max_lines_visible", "get_max_lines_visible");
|
|
|
|
|
|
- // Note: "visible_characters" and "percent_visible" should be set after "text" to be correctly applied.
|
|
|
+ // Note: "visible_characters" and "visible_ratio" should be set after "text" to be correctly applied.
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "visible_characters", PROPERTY_HINT_RANGE, "-1,128000,1"), "set_visible_characters", "get_visible_characters");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "visible_characters_behavior", PROPERTY_HINT_ENUM, "Characters Before Shaping,Characters After Shaping,Glyphs (Layout Direction),Glyphs (Left-to-Right),Glyphs (Right-to-Left)"), "set_visible_characters_behavior", "get_visible_characters_behavior");
|
|
|
- ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "percent_visible", PROPERTY_HINT_RANGE, "0,1,0.001"), "set_percent_visible", "get_percent_visible");
|
|
|
+ ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "visible_ratio", PROPERTY_HINT_RANGE, "0,1,0.001"), "set_visible_ratio", "get_visible_ratio");
|
|
|
|
|
|
ADD_GROUP("BiDi", "");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "text_direction", PROPERTY_HINT_ENUM, "Auto,Left-to-Right,Right-to-Left,Inherited"), "set_text_direction", "get_text_direction");
|