Correct me if I'm wrong, but I don't believe text fields start a
drag depending on the distance moved by the mouse. Instead, as I far
as I'm aware it's time based. i.e. to drag you have to click and
hold for a fraction of time before moving the mouse.
That's correct. Also, in Mail, if you drag horizontally you start a
drag session, and if you drag vertically you select more than one
message.
This would have been fairly easy to achieve using an iVar in -
mouseDown and -mouseDragged.