private void  ShowDragSelect(Ferr2DPath aPath, Matrix4x4 aTransform)
    {
        if (!Ferr2DT_Menu.DragSelect)
        {
            return;
        }

        // manually make a move widget, since we have to override Unity's widget
        Vector3 center = Vector3.zero;

        if (Tools.pivotMode == PivotMode.Center)
        {
            center = PathUtil.Average(aPath.GetPathRaw());
        }
        Vector3 newPos = Handles.DoPositionHandle(terrain.transform.position + center, Quaternion.identity) - center;

        if (newPos != terrain.transform.position)
        {
            Undo.RecordObject(terrain.transform, "Move Terrain Object");
            terrain.transform.position = newPos;
        }
        // execute the drag-select code
        PathEditorUtil.DoDragSelect(aTransform, aPath, new Rect(0, EditorGUIUtility.singleLineHeight, Screen.width, Screen.height - EditorGUIUtility.singleLineHeight), visuals);
    }