2
0
Nicolas Cannasse 8 жил өмнө
parent
commit
08dd862301
1 өөрчлөгдсөн 47 нэмэгдсэн , 5 устгасан
  1. 47 5
      samples/SampleApp.hx

+ 47 - 5
samples/SampleApp.hx

@@ -9,14 +9,17 @@ class SampleApp extends hxd.App {
 		fui.padding = 10;
 	}
 
-	function addSlider( text, min : Float, max : Float, get : Void -> Float, set : Float -> Void ) {
+	function getFont() {
+		return hxd.res.DefaultFont.get();
+	}
+
+	function addSlider( label : String, get : Void -> Float, set : Float -> Void, min : Float = 0., max : Float = 1. ) {
 		var f = new h2d.Flow(fui);
 
 		f.horizontalSpacing = 5;
 
-		var font = hxd.res.DefaultFont.get();
-		var tf = new h2d.Text(font, f);
-		tf.text = text;
+		var tf = new h2d.Text(getFont(), f);
+		tf.text = label;
 		tf.maxWidth = 70;
 		tf.textAlign = Right;
 
@@ -25,7 +28,7 @@ class SampleApp extends hxd.App {
 		sli.maxValue = max;
 		sli.value = get();
 
-		var tf = new h2d.TextInput(font, f);
+		var tf = new h2d.TextInput(getFont(), f);
 		tf.text = "" + hxd.Math.fmt(sli.value);
 		sli.onChange = function() {
 			set(sli.value);
@@ -38,6 +41,45 @@ class SampleApp extends hxd.App {
 			sli.value = v;
 			set(v);
 		};
+		return sli;
+	}
+
+	function addCheck( label : String, get : Void -> Bool, set : Bool -> Void ) {
+		var f = new h2d.Flow(fui);
+
+		f.horizontalSpacing = 5;
+
+		var tf = new h2d.Text(getFont(), f);
+		tf.text = label;
+		tf.maxWidth = 70;
+		tf.textAlign = Right;
+
+		var size = 10;
+		var b = new h2d.Graphics(f);
+		function redraw() {
+			b.clear();
+			b.beginFill(0x808080);
+			b.drawRect(0, 0, size, size);
+			b.beginFill(0);
+			b.drawRect(1, 1, size-2, size-2);
+			if( get() ) {
+				b.beginFill(0xC0C0C0);
+				b.drawRect(2, 2, size-4, size-4);
+			}
+		}
+		var i = new h2d.Interactive(size, size, b);
+		i.onClick = function(_) {
+			set(!get());
+			redraw();
+		};
+		redraw();
+		return i;
+	}
+
+	function addText(text="") {
+		var tf = new h2d.Text(getFont(), fui);
+		tf.text = text;
+		return tf;
 	}
 
 }