cocos2d/cocos2d-x — pull request #2193 by Weeds (2013-03-18 19:18:31+00:00)
Title: added kResolutionFixedHeight and kResolutionFixedWidth resolution policy

These new resolution policies will either ignore the width or height of the
specified design resolution size, but scale the ignored dimension, so it
matches the aspect ratio of the device.

Example:
A device with 854x480 pixels and a design resolution size set to 480x320
and the kResolutionFixedHeight policy, will create an internal canvas of
the size of 570x320px
If the device original size is 800x480 its internal size will be
534x320px
The height for both examples stays the same, the width is adjusted to match
the aspect ratio

Benefits:
- no distortions
- full canvas is usable, the visibility origin is 0/0
- I can use getWinSize() to place objects which is more intuitive
- for objects that should be placed at 0/0 I can use CGPointZero or 0/0 instead
of the VisibilityRect methods, which is more readable
- using this method projects from the 1.x branch are probably much easier to
port

Disadvantages:
- it is the developers responsibility to create the game code so that it
supports multiple aspect ratios

NOTE:
I can only test on Linux or Android, so the code has not been tested on other platforms that are supported by cocos2dx