Sfoglia il codice sorgente

Connect `CodeHighlighter` with `TextEdit` without friend-access

Yuri Sizov 1 anno fa
parent
commit
fee1fb8290

+ 4 - 0
scene/gui/text_edit.cpp

@@ -6018,6 +6018,10 @@ bool TextEdit::is_drawing_spaces() const {
 	return draw_spaces;
 }
 
+Color TextEdit::get_font_color() const {
+	return theme_cache.font_color;
+}
+
 void TextEdit::_bind_methods() {
 	/* Internal. */
 

+ 2 - 2
scene/gui/text_edit.h

@@ -41,8 +41,6 @@
 class TextEdit : public Control {
 	GDCLASS(TextEdit, Control);
 
-	friend class CodeHighlighter;
-
 public:
 	/* Edit Actions. */
 	enum EditAction {
@@ -1029,6 +1027,8 @@ public:
 	void set_draw_spaces(bool p_enabled);
 	bool is_drawing_spaces() const;
 
+	Color get_font_color() const;
+
 	TextEdit(const String &p_placeholder = String());
 };
 

+ 1 - 1
scene/resources/syntax_highlighter.cpp

@@ -419,7 +419,7 @@ void CodeHighlighter::_clear_highlighting_cache() {
 }
 
 void CodeHighlighter::_update_cache() {
-	font_color = text_edit->theme_cache.font_color;
+	font_color = text_edit->get_font_color();
 }
 
 void CodeHighlighter::add_keyword_color(const String &p_keyword, const Color &p_color) {