mirror of https://github.com/axmolengine/axmol.git
issue #2430: Refactoring enum 'ResolutionPolicy'.
This commit is contained in:
parent
2f8d3587bd
commit
e16a5f469b
|
@ -178,16 +178,23 @@ const LanguageType kLanguagePolish = LanguageType::POLISH;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const Application::Platform kTargetWindows = Application::Platform::WINDOWS;
|
const Application::Platform kTargetWindows = Application::Platform::OS_WINDOWS;
|
||||||
const Application::Platform kTargetLinux = Application::Platform::LINUX;
|
const Application::Platform kTargetLinux = Application::Platform::OS_LINUX;
|
||||||
const Application::Platform kTargetMacOS = Application::Platform::MACOS;
|
const Application::Platform kTargetMacOS = Application::Platform::OS_MACOS;
|
||||||
const Application::Platform kTargetAndroid = Application::Platform::ANDROID;
|
const Application::Platform kTargetAndroid = Application::Platform::OS_ANDROID;
|
||||||
const Application::Platform kTargetIphone = Application::Platform::IPHONE;
|
const Application::Platform kTargetIphone = Application::Platform::OS_IPHONE;
|
||||||
const Application::Platform kTargetIpad = Application::Platform::IPAD;
|
const Application::Platform kTargetIpad = Application::Platform::OS_IPAD;
|
||||||
const Application::Platform kTargetBlackBerry = Application::Platform::BLACKBERRY;
|
const Application::Platform kTargetBlackBerry = Application::Platform::OS_BLACKBERRY;
|
||||||
const Application::Platform kTargetNaCl = Application::Platform::NACL;
|
const Application::Platform kTargetNaCl = Application::Platform::OS_NACL;
|
||||||
const Application::Platform kTargetEmscripten = Application::Platform::EMSCRIPTEN;
|
const Application::Platform kTargetEmscripten = Application::Platform::OS_EMSCRIPTEN;
|
||||||
const Application::Platform kTargetTizen = Application::Platform::TIZEN;
|
const Application::Platform kTargetTizen = Application::Platform::OS_TIZEN;
|
||||||
|
|
||||||
|
const ResolutionPolicy kResolutionExactFit = ResolutionPolicy::EXACTFIT;
|
||||||
|
const ResolutionPolicy kResolutionNoBorder = ResolutionPolicy::NO_BORDER;
|
||||||
|
const ResolutionPolicy kResolutionShowAll = ResolutionPolicy::SHOW_ALL;
|
||||||
|
const ResolutionPolicy kResolutionFixedHeight = ResolutionPolicy::FIXED_HEIGHT;
|
||||||
|
const ResolutionPolicy kResolutionFixedWidth = ResolutionPolicy::FIXED_WIDTH;
|
||||||
|
const ResolutionPolicy kResolutionUnKnown = ResolutionPolicy::UNKNOWN;
|
||||||
|
|
||||||
void ccDrawInit()
|
void ccDrawInit()
|
||||||
{
|
{
|
||||||
|
|
|
@ -967,6 +967,13 @@ CC_DEPRECATED_ATTRIBUTE extern const Application::Platform kTargetEmscripten;
|
||||||
CC_DEPRECATED_ATTRIBUTE extern const Application::Platform kTargetTizen;
|
CC_DEPRECATED_ATTRIBUTE extern const Application::Platform kTargetTizen;
|
||||||
CC_DEPRECATED_ATTRIBUTE typedef Application::Platform TargetPlatform;
|
CC_DEPRECATED_ATTRIBUTE typedef Application::Platform TargetPlatform;
|
||||||
|
|
||||||
|
CC_DEPRECATED_ATTRIBUTE extern const ResolutionPolicy kResolutionExactFit;
|
||||||
|
CC_DEPRECATED_ATTRIBUTE extern const ResolutionPolicy kResolutionNoBorder;
|
||||||
|
CC_DEPRECATED_ATTRIBUTE extern const ResolutionPolicy kResolutionShowAll;
|
||||||
|
CC_DEPRECATED_ATTRIBUTE extern const ResolutionPolicy kResolutionFixedHeight;
|
||||||
|
CC_DEPRECATED_ATTRIBUTE extern const ResolutionPolicy kResolutionFixedWidth;
|
||||||
|
CC_DEPRECATED_ATTRIBUTE extern const ResolutionPolicy kResolutionUnKnown;
|
||||||
|
|
||||||
#define kCCTMXTileHorizontalFlag kTMXTileHorizontalFlag
|
#define kCCTMXTileHorizontalFlag kTMXTileHorizontalFlag
|
||||||
#define kCCTMXTileVerticalFlag kTMXTileVerticalFlag
|
#define kCCTMXTileVerticalFlag kTMXTileVerticalFlag
|
||||||
#define kCCTMXTileDiagonalFlag kTMXTileDiagonalFlag
|
#define kCCTMXTileDiagonalFlag kTMXTileDiagonalFlag
|
||||||
|
|
|
@ -46,7 +46,7 @@ EGLViewProtocol::EGLViewProtocol()
|
||||||
: _delegate(NULL)
|
: _delegate(NULL)
|
||||||
, _scaleX(1.0f)
|
, _scaleX(1.0f)
|
||||||
, _scaleY(1.0f)
|
, _scaleY(1.0f)
|
||||||
, _resolutionPolicy(kResolutionUnKnown)
|
, _resolutionPolicy(ResolutionPolicy::UNKNOWN)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ EGLViewProtocol::~EGLViewProtocol()
|
||||||
|
|
||||||
void EGLViewProtocol::setDesignResolutionSize(float width, float height, ResolutionPolicy resolutionPolicy)
|
void EGLViewProtocol::setDesignResolutionSize(float width, float height, ResolutionPolicy resolutionPolicy)
|
||||||
{
|
{
|
||||||
CCASSERT(resolutionPolicy != kResolutionUnKnown, "should set resolutionPolicy");
|
CCASSERT(resolutionPolicy != ResolutionPolicy::UNKNOWN, "should set resolutionPolicy");
|
||||||
|
|
||||||
if (width == 0.0f || height == 0.0f)
|
if (width == 0.0f || height == 0.0f)
|
||||||
{
|
{
|
||||||
|
@ -69,22 +69,22 @@ void EGLViewProtocol::setDesignResolutionSize(float width, float height, Resolut
|
||||||
_scaleX = (float)_screenSize.width / _designResolutionSize.width;
|
_scaleX = (float)_screenSize.width / _designResolutionSize.width;
|
||||||
_scaleY = (float)_screenSize.height / _designResolutionSize.height;
|
_scaleY = (float)_screenSize.height / _designResolutionSize.height;
|
||||||
|
|
||||||
if (resolutionPolicy == kResolutionNoBorder)
|
if (resolutionPolicy == ResolutionPolicy::NO_BORDER)
|
||||||
{
|
{
|
||||||
_scaleX = _scaleY = MAX(_scaleX, _scaleY);
|
_scaleX = _scaleY = MAX(_scaleX, _scaleY);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resolutionPolicy == kResolutionShowAll)
|
if (resolutionPolicy == ResolutionPolicy::SHOW_ALL)
|
||||||
{
|
{
|
||||||
_scaleX = _scaleY = MIN(_scaleX, _scaleY);
|
_scaleX = _scaleY = MIN(_scaleX, _scaleY);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( resolutionPolicy == kResolutionFixedHeight) {
|
if ( resolutionPolicy == ResolutionPolicy::FIXED_HEIGHT) {
|
||||||
_scaleX = _scaleY;
|
_scaleX = _scaleY;
|
||||||
_designResolutionSize.width = ceilf(_screenSize.width/_scaleX);
|
_designResolutionSize.width = ceilf(_screenSize.width/_scaleX);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( resolutionPolicy == kResolutionFixedWidth) {
|
if ( resolutionPolicy == ResolutionPolicy::FIXED_WIDTH) {
|
||||||
_scaleY = _scaleX;
|
_scaleY = _scaleX;
|
||||||
_designResolutionSize.height = ceilf(_screenSize.height/_scaleY);
|
_designResolutionSize.height = ceilf(_screenSize.height/_scaleY);
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ void EGLViewProtocol::setFrameSize(float width, float height)
|
||||||
|
|
||||||
Size EGLViewProtocol::getVisibleSize() const
|
Size EGLViewProtocol::getVisibleSize() const
|
||||||
{
|
{
|
||||||
if (_resolutionPolicy == kResolutionNoBorder)
|
if (_resolutionPolicy == ResolutionPolicy::NO_BORDER)
|
||||||
{
|
{
|
||||||
return Size(_screenSize.width/_scaleX, _screenSize.height/_scaleY);
|
return Size(_screenSize.width/_scaleX, _screenSize.height/_scaleY);
|
||||||
}
|
}
|
||||||
|
@ -132,7 +132,7 @@ Size EGLViewProtocol::getVisibleSize() const
|
||||||
|
|
||||||
Point EGLViewProtocol::getVisibleOrigin() const
|
Point EGLViewProtocol::getVisibleOrigin() const
|
||||||
{
|
{
|
||||||
if (_resolutionPolicy == kResolutionNoBorder)
|
if (_resolutionPolicy == ResolutionPolicy::NO_BORDER)
|
||||||
{
|
{
|
||||||
return Point((_designResolutionSize.width - _screenSize.width/_scaleX)/2,
|
return Point((_designResolutionSize.width - _screenSize.width/_scaleX)/2,
|
||||||
(_designResolutionSize.height - _screenSize.height/_scaleY)/2);
|
(_designResolutionSize.height - _screenSize.height/_scaleY)/2);
|
||||||
|
|
|
@ -3,29 +3,29 @@
|
||||||
|
|
||||||
#include "ccTypes.h"
|
#include "ccTypes.h"
|
||||||
|
|
||||||
enum ResolutionPolicy
|
enum class ResolutionPolicy
|
||||||
{
|
{
|
||||||
// The entire application is visible in the specified area without trying to preserve the original aspect ratio.
|
// The entire application is visible in the specified area without trying to preserve the original aspect ratio.
|
||||||
// Distortion can occur, and the application may appear stretched or compressed.
|
// Distortion can occur, and the application may appear stretched or compressed.
|
||||||
kResolutionExactFit,
|
EXACTFIT,
|
||||||
// The entire application fills the specified area, without distortion but possibly with some cropping,
|
// The entire application fills the specified area, without distortion but possibly with some cropping,
|
||||||
// while maintaining the original aspect ratio of the application.
|
// while maintaining the original aspect ratio of the application.
|
||||||
kResolutionNoBorder,
|
NO_BORDER,
|
||||||
// The entire application is visible in the specified area without distortion while maintaining the original
|
// The entire application is visible in the specified area without distortion while maintaining the original
|
||||||
// aspect ratio of the application. Borders can appear on two sides of the application.
|
// aspect ratio of the application. Borders can appear on two sides of the application.
|
||||||
kResolutionShowAll,
|
SHOW_ALL,
|
||||||
// The application takes the height of the design resolution size and modifies the width of the internal
|
// The application takes the height of the design resolution size and modifies the width of the internal
|
||||||
// canvas so that it fits the aspect ratio of the device
|
// canvas so that it fits the aspect ratio of the device
|
||||||
// no distortion will occur however you must make sure your application works on different
|
// no distortion will occur however you must make sure your application works on different
|
||||||
// aspect ratios
|
// aspect ratios
|
||||||
kResolutionFixedHeight,
|
FIXED_HEIGHT,
|
||||||
// The application takes the width of the design resolution size and modifies the height of the internal
|
// The application takes the width of the design resolution size and modifies the height of the internal
|
||||||
// canvas so that it fits the aspect ratio of the device
|
// canvas so that it fits the aspect ratio of the device
|
||||||
// no distortion will occur however you must make sure your application works on different
|
// no distortion will occur however you must make sure your application works on different
|
||||||
// aspect ratios
|
// aspect ratios
|
||||||
kResolutionFixedWidth,
|
FIXED_WIDTH,
|
||||||
|
|
||||||
kResolutionUnKnown,
|
UNKNOWN,
|
||||||
};
|
};
|
||||||
|
|
||||||
NS_CC_BEGIN
|
NS_CC_BEGIN
|
||||||
|
@ -84,9 +84,9 @@ public:
|
||||||
* @param width Design resolution width.
|
* @param width Design resolution width.
|
||||||
* @param height Design resolution height.
|
* @param height Design resolution height.
|
||||||
* @param resolutionPolicy The resolution policy desired, you may choose:
|
* @param resolutionPolicy The resolution policy desired, you may choose:
|
||||||
* [1] kResolutionExactFit Fill screen by stretch-to-fit: if the design resolution ratio of width to height is different from the screen resolution ratio, your game view will be stretched.
|
* [1] EXACTFIT Fill screen by stretch-to-fit: if the design resolution ratio of width to height is different from the screen resolution ratio, your game view will be stretched.
|
||||||
* [2] kResolutionNoBorder Full screen without black border: if the design resolution ratio of width to height is different from the screen resolution ratio, two areas of your game view will be cut.
|
* [2] NO_BORDER Full screen without black border: if the design resolution ratio of width to height is different from the screen resolution ratio, two areas of your game view will be cut.
|
||||||
* [3] kResolutionShowAll Full screen with black border: if the design resolution ratio of width to height is different from the screen resolution ratio, two black borders will be shown.
|
* [3] SHOW_ALL Full screen with black border: if the design resolution ratio of width to height is different from the screen resolution ratio, two black borders will be shown.
|
||||||
*/
|
*/
|
||||||
virtual void setDesignResolutionSize(float width, float height, ResolutionPolicy resolutionPolicy);
|
virtual void setDesignResolutionSize(float width, float height, ResolutionPolicy resolutionPolicy);
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ bool EGLView::isOpenGLReady()
|
||||||
|
|
||||||
bool EGLView::setContentScaleFactor(float contentScaleFactor)
|
bool EGLView::setContentScaleFactor(float contentScaleFactor)
|
||||||
{
|
{
|
||||||
assert(_resolutionPolicy == kResolutionUnKnown); // cannot enable retina mode
|
assert(_resolutionPolicy == ResolutionPolicy::UNKNOWN); // cannot enable retina mode
|
||||||
|
|
||||||
_scaleX = _scaleY = contentScaleFactor;
|
_scaleX = _scaleY = contentScaleFactor;
|
||||||
[[CCEAGLView sharedEGLView] setNeedsLayout];
|
[[CCEAGLView sharedEGLView] setNeedsLayout];
|
||||||
|
|
|
@ -18,7 +18,7 @@ bool AppDelegate::applicationDidFinishLaunching() {
|
||||||
|
|
||||||
pDirector->setOpenGLView(pEGLView);
|
pDirector->setOpenGLView(pEGLView);
|
||||||
|
|
||||||
pEGLView->setDesignResolutionSize(960.0f, 640.0f, kResolutionNoBorder);
|
pEGLView->setDesignResolutionSize(960.0f, 640.0f, ResolutionPolicy::NO_BORDER);
|
||||||
|
|
||||||
// turn on display FPS
|
// turn on display FPS
|
||||||
pDirector->setDisplayStats(true);
|
pDirector->setDisplayStats(true);
|
||||||
|
|
|
@ -27,7 +27,7 @@ bool AppDelegate::applicationDidFinishLaunching() {
|
||||||
Size size = director->getWinSize();
|
Size size = director->getWinSize();
|
||||||
|
|
||||||
// Set the design resolution
|
// Set the design resolution
|
||||||
glView->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, kResolutionNoBorder);
|
glView->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::NO_BORDER);
|
||||||
|
|
||||||
Size frameSize = glView->getFrameSize();
|
Size frameSize = glView->getFrameSize();
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ bool AppDelegate::applicationDidFinishLaunching() {
|
||||||
|
|
||||||
FileUtils::getInstance()->setSearchPaths(searchPaths);
|
FileUtils::getInstance()->setSearchPaths(searchPaths);
|
||||||
|
|
||||||
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionNoBorder);
|
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::NO_BORDER);
|
||||||
|
|
||||||
// turn on display FPS
|
// turn on display FPS
|
||||||
director->setDisplayStats(true);
|
director->setDisplayStats(true);
|
||||||
|
|
|
@ -48,7 +48,7 @@ bool AppDelegate::applicationDidFinishLaunching()
|
||||||
director->setContentScaleFactor(resourceSize.height/designSize.height);
|
director->setContentScaleFactor(resourceSize.height/designSize.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionNoBorder);
|
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::NO_BORDER);
|
||||||
|
|
||||||
auto scene = Scene::create();
|
auto scene = Scene::create();
|
||||||
auto layer = new TestController();
|
auto layer = new TestController();
|
||||||
|
|
|
@ -109,7 +109,7 @@ bool AppDelegate::applicationDidFinishLaunching()
|
||||||
|
|
||||||
pDirector->setContentScaleFactor(resourceSize.width/designSize.width);
|
pDirector->setContentScaleFactor(resourceSize.width/designSize.width);
|
||||||
|
|
||||||
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionNoBorder);
|
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::NO_BORDER);
|
||||||
|
|
||||||
// turn on display FPS
|
// turn on display FPS
|
||||||
pDirector->setDisplayStats(true);
|
pDirector->setDisplayStats(true);
|
||||||
|
|
|
@ -91,7 +91,7 @@ bool AppDelegate::applicationDidFinishLaunching()
|
||||||
}
|
}
|
||||||
pDirector->setContentScaleFactor(resourceSize.width/designSize.width);
|
pDirector->setContentScaleFactor(resourceSize.width/designSize.width);
|
||||||
|
|
||||||
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionShowAll);
|
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::SHOW_ALL);
|
||||||
|
|
||||||
// turn on display FPS
|
// turn on display FPS
|
||||||
pDirector->setDisplayStats(true);
|
pDirector->setDisplayStats(true);
|
||||||
|
|
|
@ -32,7 +32,7 @@ bool AppDelegate::applicationDidFinishLaunching()
|
||||||
pDirector->setProjection(Director::Projection::_2D);
|
pDirector->setProjection(Director::Projection::_2D);
|
||||||
|
|
||||||
// Set the design resolution
|
// Set the design resolution
|
||||||
EGLView::getInstance()->setDesignResolutionSize(320, 480, kResolutionShowAll);
|
EGLView::getInstance()->setDesignResolutionSize(320, 480, ResolutionPolicy::SHOW_ALL);
|
||||||
|
|
||||||
// turn on display FPS
|
// turn on display FPS
|
||||||
pDirector->setDisplayStats(true);
|
pDirector->setDisplayStats(true);
|
||||||
|
|
|
@ -33,7 +33,7 @@ bool AppDelegate::applicationDidFinishLaunching()
|
||||||
pDirector->setOpenGLView(EGLView::getInstance());
|
pDirector->setOpenGLView(EGLView::getInstance());
|
||||||
|
|
||||||
// JS-Test in Html5 uses 800x450 as design resolution
|
// JS-Test in Html5 uses 800x450 as design resolution
|
||||||
EGLView::getInstance()->setDesignResolutionSize(800, 450, kResolutionFixedHeight);
|
EGLView::getInstance()->setDesignResolutionSize(800, 450, ResolutionPolicy::FIXED_HEIGHT);
|
||||||
// turn on display FPS
|
// turn on display FPS
|
||||||
pDirector->setDisplayStats(true);
|
pDirector->setDisplayStats(true);
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ bool AppDelegate::applicationDidFinishLaunching()
|
||||||
// set FPS. the default value is 1.0/60 if you don't call this
|
// set FPS. the default value is 1.0/60 if you don't call this
|
||||||
pDirector->setAnimationInterval(1.0 / 60);
|
pDirector->setAnimationInterval(1.0 / 60);
|
||||||
|
|
||||||
EGLView::getInstance()->setDesignResolutionSize(480, 320, kResolutionFixedHeight);
|
EGLView::getInstance()->setDesignResolutionSize(480, 320, ResolutionPolicy::FIXED_HEIGHT);
|
||||||
|
|
||||||
ScriptingCore* sc = ScriptingCore::getInstance();
|
ScriptingCore* sc = ScriptingCore::getInstance();
|
||||||
sc->addRegisterCallback(register_all_cocos2dx);
|
sc->addRegisterCallback(register_all_cocos2dx);
|
||||||
|
|
|
@ -26,7 +26,7 @@ bool AppDelegate::applicationDidFinishLaunching()
|
||||||
Director *pDirector = Director::getInstance();
|
Director *pDirector = Director::getInstance();
|
||||||
pDirector->setOpenGLView(EGLView::getInstance());
|
pDirector->setOpenGLView(EGLView::getInstance());
|
||||||
|
|
||||||
EGLView::getInstance()->setDesignResolutionSize(480, 320, kResolutionNoBorder);
|
EGLView::getInstance()->setDesignResolutionSize(480, 320, ResolutionPolicy::NO_BORDER);
|
||||||
|
|
||||||
// turn on display FPS
|
// turn on display FPS
|
||||||
pDirector->setDisplayStats(true);
|
pDirector->setDisplayStats(true);
|
||||||
|
|
|
@ -44,7 +44,7 @@ bool AppDelegate::applicationDidFinishLaunching()
|
||||||
pDirector->setContentScaleFactor(resourceSize.height/designSize.height);
|
pDirector->setContentScaleFactor(resourceSize.height/designSize.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, kResolutionFixedHeight);
|
EGLView::getInstance()->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::FIXED_HEIGHT);
|
||||||
|
|
||||||
// register lua engine
|
// register lua engine
|
||||||
LuaEngine* pEngine = LuaEngine::getInstance();
|
LuaEngine* pEngine = LuaEngine::getInstance();
|
||||||
|
|
Loading…
Reference in New Issue