summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Liebl <Bernhard.Liebl@gmx.org>2018-03-09 23:43:17 +0100
committerBernhard Liebl <Bernhard.Liebl@gmx.org>2018-03-09 23:53:53 +0100
commitc223fac83be5b5be3143e17819ad0179389407f9 (patch)
tree31ef30c4ff356686880d084d614941a05705877e
parent47addcf9d03da717e54158e455d1fc558b4bd66f (diff)
Fix overlapping timeline text in AnimationEditor
-rw-r--r--editor/animation_editor.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/editor/animation_editor.cpp b/editor/animation_editor.cpp
index 1b97a24968..5519045195 100644
--- a/editor/animation_editor.cpp
+++ b/editor/animation_editor.cpp
@@ -1268,8 +1268,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++) {