On Jul 1, 2015, at 6:28 PM, Graham Cox <graham....@bigpond.com> wrote:
> 
> Obviously it’s only a convention, but I think horizontal values should always 
> precede vertical ones, if only because x comes before y in the alphabet, and 
> map coordinates are that way around as well. The change to {origin, size} was 
> also very welcome, if only because moving a rect is now independent from 
> sizing it, and doing either only changes two values, not four.

From a mathematical point of view (which the NeXT-derived frameworks clearly 
use), this is correct; the x-axis comes before the y-axis. However, from a more 
general/intuitive point of view, I think you can make a pretty good case for 
the vertical value coming first, given that in pretty much every situation in 
ordinary life, we tend to process the vertical value first. When reading text 
in Western languages, vertical position is more significant than horizontal, 
and when we’re dealing with tabular data or pretty much anything that’s in a 
grid-like arrangement, we always specify the row first, then the column.

This also explains why the classic Mac OS calculated vertical coordinates 
starting from the top instead of the bottom — that is, after all, how we read, 
and how we process most things that are spatially oriented; we start at the 
top. Of course, mathematical coordinates go up from the x-axis, so that’s the 
way the frameworks are set up.

Of course, in the end, it’s all convention, and it doesn’t really matter that 
much as long as you’re consistent (and that you have the named function 
parameters to make it clear what’s going on :-P).

Charles

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to