Răsfoiți Sursa

added min/max value

ncannasse 11 ani în urmă
părinte
comite
7f5474a1c9
2 a modificat fișierele cu 12 adăugiri și 1 ștergeri
  1. 6 0
      h2d/comp/Parser.hx
  2. 6 1
      h2d/comp/Value.hx

+ 6 - 0
h2d/comp/Parser.hx

@@ -184,6 +184,9 @@ class Parser {
 				case "slider":
 					var c : Slider = cast c;
 					c.minValue = Std.parseFloat(v);
+				case "value":
+					var c : Value = cast c;
+					c.minValue = Std.parseFloat(v);
 				default:
 				}
 			case "max":
@@ -191,6 +194,9 @@ class Parser {
 				case "slider":
 					var c : Slider = cast c;
 					c.maxValue = Std.parseFloat(v);
+				case "value":
+					var c : Value = cast c;
+					c.maxValue = Std.parseFloat(v);
 				default:
 				}
 			case "increment":

+ 6 - 1
h2d/comp/Value.hx

@@ -3,6 +3,8 @@ package h2d.comp;
 class Value extends Interactive {
 
 	var text : Input;
+	public var minValue : Float = -1e10;
+	public var maxValue : Float = 1e10;
 	public var value(default, set) : Float;
 	public var increment : Float;
 	
@@ -30,7 +32,10 @@ class Value extends Interactive {
 					text.input.stopDrag();
 				else {
 					var dx = Math.round(e.relX - e1.relX);
-					value = startVal + dx * increment;
+					var v = startVal + dx * increment;
+					if( v < minValue ) v = minValue;
+					if( v > maxValue ) v = maxValue;
+					value = v;
 					onChange(value);
 				}
 			});