浏览代码

Merge pull request #17390 from poke1024/fix-anim-text-overlap

Fixes overlapping text labels in animation editor timeline
Rémi Verschelde 7 年之前
父节点
当前提交
a64f30536e
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      editor/animation_editor.cpp

+ 13 - 0
editor/animation_editor.cpp

@@ -1266,8 +1266,21 @@ void AnimationKeyEditor::_track_editor_draw() {
 		int decimals = 2;
 		bool step_found = false;
 
+		const int period_width = font->get_char_size('.').width;
+		int max_digit_width = font->get_char_size('0').width;
+		for (int i = 1; i <= 9; i++) {
+			const int digit_width = font->get_char_size('0' + i).width;
+			max_digit_width = MAX(digit_width, max_digit_width);
+		}
+		const int max_sc = int(Math::ceil(zoomw / scale));
+		const int max_sc_width = String::num(max_sc).length() * max_digit_width;
+
 		while (!step_found) {
 
+			min = max_sc_width;
+			if (decimals > 0)
+				min += period_width + max_digit_width * decimals;
+
 			static const int _multp[3] = { 1, 2, 5 };
 			for (int i = 0; i < 3; i++) {