浏览代码

Merge pull request #2871 from reluctant-git-user/master

Update microui.odin; slider 'step' parameter was not working
gingerBill 1 年之前
父节点
当前提交
a3fbd09ef9
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      vendor/microui/microui.odin

+ 3 - 2
vendor/microui/microui.odin

@@ -28,6 +28,7 @@ import "core:fmt"
 import "core:sort"
 import "core:strings"
 import "core:strconv"
+import "core:math"
 
 COMMAND_LIST_SIZE    :: #config(MICROUI_COMMAND_LIST_SIZE,    256 * 1024)
 ROOT_LIST_SIZE       :: #config(MICROUI_ROOT_LIST_SIZE,       32)
@@ -1063,7 +1064,7 @@ slider :: proc(ctx: ^Context, value: ^Real, low, high: Real, step: Real = 0.0, f
 	if ctx.focus_id == id && ctx.mouse_down_bits == {.LEFT} {
 		v = low + Real(ctx.mouse_pos.x - base.x) * (high - low) / Real(base.w)
 		if step != 0.0 {
-			v = ((v + step/2) / step) * step
+			v = math.floor((v + step/2) / step) * step
 		}
 	}
 	/* clamp and store value, update res */
@@ -1442,4 +1443,4 @@ end_panel :: proc(ctx: ^Context) {
 
 @private mouse_released :: #force_inline proc(ctx: ^Context) -> bool { return ctx.mouse_released_bits != nil }
 @private mouse_pressed  :: #force_inline proc(ctx: ^Context) -> bool { return ctx.mouse_pressed_bits  != nil }
-@private mouse_down     :: #force_inline proc(ctx: ^Context) -> bool { return ctx.mouse_down_bits     != nil }
+@private mouse_down     :: #force_inline proc(ctx: ^Context) -> bool { return ctx.mouse_down_bits     != nil }