Sorry, I was too terse in my previous reply.
The problem, as you have seen yourself, is not to implement the patch,
but to select the feature set.
I can see the following potentially separate controllable features:
1) Unzoom when dragging to top-left
2) Unzoom when dragging to top-right
3) Unzoom when dragging to bottom-left
4) Unzoom when dragging to bottom-right
5) Unzoom with click (perhaps with tolerance)
You suggest essentially a boolean switch between (1,2,3,5) and (5).
Does other combinations make sense? For example, you said the Delphi does NOT unzoom on (5), so maybe (1,2,3) have some value?
Or maybe it is better to allow user to control them separately?
I tend towards the latter -- what do you think?
regarding the distance measurement tool
I have answered in that topic.