setSegType (newType) {
    this.storeD()
    let i = this.selected_pts.length
    let text
    while (i--) {
      const selPt = this.selected_pts[i]

      // Selected seg
      const cur = this.segs[selPt]
      const { prev } = cur
      if (!prev) { continue }

      if (!newType) { // double-click, so just toggle
        text = 'Toggle Path Segment Type'

        // Toggle segment to curve/straight line
        const oldType = cur.type

        newType = (oldType === 6) ? 4 : 6
      }

      newType = Number(newType)

      const curX = cur.item.x
      const curY = cur.item.y
      const prevX = prev.item.x
      const prevY = prev.item.y
      let points
      switch (newType) {
        case 6: {
          if (cur.olditem) {
            const old = cur.olditem
            points = [curX, curY, old.x1, old.y1, old.x2, old.y2]
          } else {
            const diffX = curX - prevX
            const diffY = curY - prevY
            // get control points from straight line segment
            /*
          const ct1x = (prevX + (diffY/2));
          const ct1y = (prevY - (diffX/2));
          const ct2x = (curX + (diffY/2));
          const ct2y = (curY - (diffX/2));
          */
            // create control points on the line to preserve the shape (WRS)
            const ct1x = (prevX + (diffX / 3))
            const ct1y = (prevY + (diffY / 3))
            const ct2x = (curX - (diffX / 3))
            const ct2y = (curY - (diffY / 3))
            points = [curX, curY, ct1x, ct1y, ct2x, ct2y]
          }
          break
        } case 4: {
          points = [curX, curY]

          // Store original prevve segment nums
          cur.olditem = cur.item
          break
        }
      }

      cur.setType(newType, points)
    }
    const path = svgCanvas.getPathObj()
    path.endChanges(text)
  }
@param {?Integer} newType See {@link https://www.w3.org/TR/SVG/single-page.html#paths-InterfaceSVGPathSeg}
@returns {void}