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 | public static void DrawLinearAxis(ImDrawListPtr draw_list, Num.Vector2 range, bool vertical, int points, Num.Vector2 position) { |
|
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 | var tick_length = 5; |
|
61 | var tick_length = 5; |
|
61 | var tick_adjust = vertical ? new Num.Vector2(tick_length, 0) : new Num.Vector2(0, tick_length); |
|
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 | 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 | 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 | var tick_length = 5; |
|
84 | var tick_length = 5; |
|
81 | var tick_adjust = vertical ? new Num.Vector2(tick_length, 0) : new Num.Vector2(0, tick_length); |
|
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 |
|
299 | DrawLinearAxis(draw_list, domain /*new Num.Vector2(0, 200)*/, true, 11, Num.Vector2.Add(c, new Num.Vector2(padding, padding))); |
|
296 |
DrawLinearLabels(font, draw_list, domain, range /*new Num.Vector2(0, 200)*/, true, 1 |
|
300 | DrawLinearLabels(font, draw_list, domain, range /*new Num.Vector2(0, 200)*/, true, 11, c); |
|
297 | DrawLinearAxis(draw_list, new Num.Vector2(0, 350), false, 12, Num.Vector2.Add(c, new Num.Vector2(padding, 200 - padding))); |
|
301 | DrawLinearAxis(draw_list, new Num.Vector2(0, 350), false, 12, Num.Vector2.Add(c, new Num.Vector2(padding, 200 - padding))); |
|
298 |
|
302 | ||
|
299 | ImGui.Dummy(new Num.Vector2(350, 200)); |
|
303 | ImGui.Dummy(new Num.Vector2(350, 200)); |
You need to be logged in to leave comments.
Login now