2
0
Эх сурвалжийг харах

Merge pull request #89993 from Sauermann/fix-textedit-clip-contents

Make `TextEdit.clip_contents` more transparent to users
Rémi Verschelde 1 жил өмнө
parent
commit
0df9c16d81

+ 1 - 0
doc/classes/TextEdit.xml

@@ -1132,6 +1132,7 @@
 		<member name="caret_type" type="int" setter="set_caret_type" getter="get_caret_type" enum="TextEdit.CaretType" default="0">
 		<member name="caret_type" type="int" setter="set_caret_type" getter="get_caret_type" enum="TextEdit.CaretType" default="0">
 			Set the type of caret to draw.
 			Set the type of caret to draw.
 		</member>
 		</member>
+		<member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
 		<member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled" default="true">
 		<member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled" default="true">
 			If [code]true[/code], a right-click displays the context menu.
 			If [code]true[/code], a right-click displays the context menu.
 		</member>
 		</member>

+ 1 - 1
scene/gui/text_edit.cpp

@@ -539,7 +539,6 @@ void TextEdit::_notification(int p_what) {
 			_update_scrollbars();
 			_update_scrollbars();
 
 
 			RID ci = get_canvas_item();
 			RID ci = get_canvas_item();
-			RenderingServer::get_singleton()->canvas_item_set_clip(get_canvas_item(), true);
 			int xmargin_beg = theme_cache.style_normal->get_margin(SIDE_LEFT) + gutters_width + gutter_padding;
 			int xmargin_beg = theme_cache.style_normal->get_margin(SIDE_LEFT) + gutters_width + gutter_padding;
 
 
 			int xmargin_end = size.width - theme_cache.style_normal->get_margin(SIDE_RIGHT);
 			int xmargin_end = size.width - theme_cache.style_normal->get_margin(SIDE_RIGHT);
@@ -8022,5 +8021,6 @@ TextEdit::TextEdit(const String &p_placeholder) {
 
 
 	set_placeholder(p_placeholder);
 	set_placeholder(p_placeholder);
 
 
+	set_clip_contents(true);
 	set_editable(true);
 	set_editable(true);
 }
 }