Browse Source

Lock Mouse Editing Gizmo (#115)

Jed974 4 years ago
parent
commit
dc70e50f9f
2 changed files with 6 additions and 1 deletions
  1. 1 1
      hide/comp/Scene.hx
  2. 5 0
      hide/view/l3d/Gizmo.hx

+ 1 - 1
hide/comp/Scene.hx

@@ -55,7 +55,7 @@ class Scene extends Component implements h3d.IDrawable {
 
 	var id = ++UID;
 	var window : hxd.Window;
-	var canvas : js.html.CanvasElement;
+	public var canvas : js.html.CanvasElement;
 	var hmdCache = new Map<String, hxd.fmt.hmd.Library>();
 	var texCache = new Map<String, h3d.mat.Texture>();
 	var pathsMap = new Map<String, String>();

+ 5 - 0
hide/view/l3d/Gizmo.hx

@@ -28,6 +28,7 @@ class Gizmo extends h3d.scene.Object {
 	var updateFunc: Float -> Void;
 	var mouseX(get,never) : Float;
 	var mouseY(get,never) : Float;
+	var mouseLock(get, set) : Bool;
 
 	public var onStartMove: TransformMode -> Void;
 	public var onMove: h3d.Vector -> h3d.Quat -> h3d.Vector -> Void;
@@ -112,6 +113,7 @@ class Gizmo extends h3d.scene.Object {
 	}
 
 	public function startMove(mode: TransformMode, ?duplicating=false) {
+		mouseLock = true;
 		moving = true;
 		if(onStartMove != null) onStartMove(mode);
 		var startMat = getAbsPos().clone();
@@ -217,8 +219,11 @@ class Gizmo extends h3d.scene.Object {
 
 	function get_mouseX() return @:privateAccess scene.window.mouseX;
 	function get_mouseY() return @:privateAccess scene.window.mouseY;
+	function get_mouseLock() return @:privateAccess scene.window.mouseLock;
+	function set_mouseLock(v : Bool) return @:privateAccess scene.window.mouseLock = v; 
 
 	function finishMove() {
+		mouseLock = false;
 		updateFunc = null;
 		if(onFinishMove != null)
 			onFinishMove();