Pixel distance from mouse pointer to line.
internal static void ArrowHandleCap(int controlID, Vector3 position, Quaternion rotation, float size, EventType eventType, Vector3 coneOffset) { switch (eventType) { case (EventType.Layout): { Vector3 direction = rotation * Vector3.forward; HandleUtility.AddControl(controlID, HandleUtility.DistanceToLine(position, position + (direction + coneOffset) * size * .9f)); HandleUtility.AddControl(controlID, HandleUtility.DistanceToCircle(position + (direction + coneOffset) * size, size * .2f)); break; } case (EventType.Repaint): { Vector3 direction = rotation * Vector3.forward; ConeHandleCap(controlID, position + (direction + coneOffset) * size, Quaternion.LookRotation(direction), size * .2f, eventType); Handles.DrawLine(position, position + (direction + coneOffset) * size * .9f, false); break; } } }