diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-10-27 12:46:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-27 12:46:50 +0100 |
commit | 77075c28880c2d09150421a13a5caf77d46996ca (patch) | |
tree | aba2e8b468c4ec61da7ff1db9414d8fdca98e2f2 /scene/gui/text_edit.h | |
parent | 9e572b5bacdaeb5079415d276bbf5b8462cac9e3 (diff) | |
parent | 2e2a049d3ccff4e7b804c022e673d3efe2eb65c1 (diff) |
Merge pull request #33105 from Paulb23/issue_32236_script_conection_performance
Improve performance of connection info in the script editor
Diffstat (limited to 'scene/gui/text_edit.h')
-rw-r--r-- | scene/gui/text_edit.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h index e5d9b006fe..e640bf0ea9 100644 --- a/scene/gui/text_edit.h +++ b/scene/gui/text_edit.h @@ -78,6 +78,7 @@ public: bool bookmark : 1; bool hidden : 1; bool safe : 1; + bool has_info : 1; int wrap_amount_cache : 24; Map<int, ColorRegionInfo> region_info; Ref<Texture> info_icon; @@ -115,10 +116,15 @@ public: void set_safe(int p_line, bool p_safe) { text.write[p_line].safe = p_safe; } bool is_safe(int p_line) const { return text[p_line].safe; } void set_info_icon(int p_line, Ref<Texture> p_icon, String p_info) { + if (p_icon.is_null()) { + text.write[p_line].has_info = false; + return; + } text.write[p_line].info_icon = p_icon; text.write[p_line].info = p_info; + text.write[p_line].has_info = true; } - bool has_info_icon(int p_line) const { return text[p_line].info_icon.is_valid(); } + bool has_info_icon(int p_line) const { return text[p_line].has_info; } const Ref<Texture> &get_info_icon(int p_line) const { return text[p_line].info_icon; } const String &get_info(int p_line) const { return text[p_line].info; } void insert(int p_at, const String &p_text); @@ -127,6 +133,7 @@ public: void clear(); void clear_width_cache(); void clear_wrap_cache(); + void clear_info_icons(); _FORCE_INLINE_ const String &operator[](int p_line) const { return text[p_line].data; } Text() { indent_size = 4; } }; |