46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
const getHandle = (x, y, index, extraAttributes = {}) =>
 | 
						|
  Object.assign(
 | 
						|
    {
 | 
						|
      x,
 | 
						|
      y,
 | 
						|
      index,
 | 
						|
      drawnIndependently: false,
 | 
						|
      allowedOutsideImage: false,
 | 
						|
      highlight: true,
 | 
						|
      active: false
 | 
						|
    },
 | 
						|
    extraAttributes
 | 
						|
  )
 | 
						|
 | 
						|
export default function(mouseEventData) {
 | 
						|
  const { x, y } = mouseEventData.currentPoints.image
 | 
						|
  // Create the measurement data for this tool with the end handle activated
 | 
						|
  const measurementData = {
 | 
						|
    toolName: this.name,
 | 
						|
    toolType: this.name, // Deprecation notice: toolType will be replaced by toolName
 | 
						|
    isCreating: true,
 | 
						|
    visible: true,
 | 
						|
    active: true,
 | 
						|
    invalidated: true,
 | 
						|
    handles: {
 | 
						|
      start: getHandle(x, y, 0),
 | 
						|
      end: getHandle(x, y, 1, { active: true }),
 | 
						|
      perpendicularStart: getHandle(x, y, 2, { locked: true }),
 | 
						|
      perpendicularEnd: getHandle(x, y, 3),
 | 
						|
      textBox: getHandle(x - 5, y - 15, null, {
 | 
						|
        highlight: false,
 | 
						|
        hasMoved: true,
 | 
						|
        active: false,
 | 
						|
        movesIndependently: false,
 | 
						|
        drawnIndependently: true,
 | 
						|
        allowedOutsideImage: true,
 | 
						|
        hasBoundingBox: true
 | 
						|
      })
 | 
						|
    },
 | 
						|
    longestDiameter: 0,
 | 
						|
    shortestDiameter: 0
 | 
						|
  }
 | 
						|
 | 
						|
  return measurementData
 | 
						|
}
 |