Description:
Fix tick spacing so it covers the entire range.
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
@@ -56,7 +56,8 | |||
|
56 | 56 | |
|
57 | 57 | |
|
58 | 58 | public static void DrawLinearAxis(ImDrawListPtr draw_list, Num.Vector2 range, bool vertical, int points, Num.Vector2 position) { |
|
59 | var tick_spacing = (int)Math.Abs((range.Y - range.X) / points); | |
|
59 | //See DrawLinearLabels for explanation | |
|
60 | var tick_spacing = (int)Math.Abs((range.Y - range.X) / (points - 1)); | |
|
60 | 61 | var tick_length = 5; |
|
61 | 62 | var tick_adjust = vertical ? new Num.Vector2(tick_length, 0) : new Num.Vector2(0, tick_length); |
|
62 | 63 | |
@@ -76,7 +77,10 | |||
|
76 | 77 | } |
|
77 | 78 | |
|
78 | 79 | public static async void DrawLinearLabels(ImFontPtr font, ImDrawListPtr draw_list, Num.Vector2 domain, Num.Vector2 range, bool vertical, int labels, Num.Vector2 starting_position) { |
|
79 | var tick_spacing = (int)Math.Abs((range.Y - range.X) / (labels)); | |
|
80 | //We need to increment by one in order to cover the entire range. | |
|
81 | //For example, if our range is 0 - 100, and we want 11 ticks, 100 / 10 gives us a spacing o 10 | |
|
82 | //So our 11 labels become 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100. | |
|
83 | var tick_spacing = (int)Math.Abs((range.Y - range.X) / (labels - 1)); | |
|
80 | 84 | var tick_length = 5; |
|
81 | 85 | var tick_adjust = vertical ? new Num.Vector2(tick_length, 0) : new Num.Vector2(0, tick_length); |
|
82 | 86 | |
@@ -292,8 +296,8 | |||
|
292 | 296 | } |
|
293 | 297 | } |
|
294 | 298 | |
|
295 |
DrawLinearAxis(draw_list, domain /*new Num.Vector2(0, 200)*/, true, 1 |
|
|
296 |
DrawLinearLabels(font, draw_list, domain, range /*new Num.Vector2(0, 200)*/, true, 1 |
|
|
299 | DrawLinearAxis(draw_list, domain /*new Num.Vector2(0, 200)*/, true, 11, Num.Vector2.Add(c, new Num.Vector2(padding, padding))); | |
|
300 | DrawLinearLabels(font, draw_list, domain, range /*new Num.Vector2(0, 200)*/, true, 11, c); | |
|
297 | 301 | DrawLinearAxis(draw_list, new Num.Vector2(0, 350), false, 12, Num.Vector2.Add(c, new Num.Vector2(padding, 200 - padding))); |
|
298 | 302 | |
|
299 | 303 | ImGui.Dummy(new Num.Vector2(350, 200)); |
You need to be logged in to leave comments.
Login now