diff --git a/cocos/2d/CCComponent.cpp b/cocos/2d/CCComponent.cpp index fa228d0ff7..4f8482367a 100644 --- a/cocos/2d/CCComponent.cpp +++ b/cocos/2d/CCComponent.cpp @@ -72,14 +72,14 @@ Component* Component::create(void) return ret; } -const char* Component::getName() const +const std::string& Component::getName() const { - return _name.c_str(); + return _name; } -void Component::setName(const char *name) +void Component::setName(const std::string& name) { - _name.assign(name); + _name = name; } Node* Component::getOwner() const diff --git a/cocos/2d/CCComponent.h b/cocos/2d/CCComponent.h index 3babdbba46..5631c2585f 100644 --- a/cocos/2d/CCComponent.h +++ b/cocos/2d/CCComponent.h @@ -60,8 +60,8 @@ public: virtual void setEnabled(bool b); static Component* create(void); - const char* getName() const; - void setName(const char *name); + const std::string& getName() const; + void setName(const std::string& name); void setOwner(Node *pOwner); Node* getOwner() const; diff --git a/cocos/2d/CCComponentContainer.cpp b/cocos/2d/CCComponentContainer.cpp index 0e510d8de9..905bebbe27 100644 --- a/cocos/2d/CCComponentContainer.cpp +++ b/cocos/2d/CCComponentContainer.cpp @@ -40,12 +40,10 @@ ComponentContainer::~ComponentContainer(void) CC_SAFE_DELETE(_components); } -Component* ComponentContainer::get(const char *name) const +Component* ComponentContainer::get(const std::string& name) const { Component* ret = nullptr; - CCASSERT(name != nullptr, "Argument must be non-nil"); do { - CC_BREAK_IF(nullptr == name); CC_BREAK_IF(nullptr == _components); ret = _components->at(name); @@ -77,10 +75,9 @@ bool ComponentContainer::add(Component *com) return ret; } -bool ComponentContainer::remove(const char *name) +bool ComponentContainer::remove(const std::string& name) { bool ret = false; - CCASSERT(name != nullptr, "Argument must be non-nil"); do { CC_BREAK_IF(!_components); diff --git a/cocos/2d/CCComponentContainer.h b/cocos/2d/CCComponentContainer.h index e50fbbc8d9..d895693a86 100644 --- a/cocos/2d/CCComponentContainer.h +++ b/cocos/2d/CCComponentContainer.h @@ -47,9 +47,9 @@ public: * @lua NA */ virtual ~ComponentContainer(void); - virtual Component* get(const char *name) const; + virtual Component* get(const std::string& name) const; virtual bool add(Component *com); - virtual bool remove(const char *name); + virtual bool remove(const std::string& name); virtual void removeAll(); virtual void visit(float delta); public: diff --git a/cocos/2d/CCConfiguration.cpp b/cocos/2d/CCConfiguration.cpp index ea3e64d362..07ff02933d 100644 --- a/cocos/2d/CCConfiguration.cpp +++ b/cocos/2d/CCConfiguration.cpp @@ -284,7 +284,7 @@ void Configuration::setValue(const std::string& key, const Value& value) // // load file // -void Configuration::loadConfigFile(const char *filename) +void Configuration::loadConfigFile(const std::string& filename) { ValueMap dict = FileUtils::getInstance()->getValueMapFromFile(filename); CCASSERT(!dict.empty(), "cannot create dictionary"); @@ -312,14 +312,14 @@ void Configuration::loadConfigFile(const char *filename) if (! validMetadata) { - CCLOG("Invalid config format for file: %s", filename); + CCLOG("Invalid config format for file: %s", filename.c_str()); return; } auto dataIter = dict.find("data"); if (dataIter == dict.end() || dataIter->second.getType() != Value::Type::MAP) { - CCLOG("Expected 'data' dict, but not found. Config file: %s", filename); + CCLOG("Expected 'data' dict, but not found. Config file: %s", filename.c_str()); return; } diff --git a/cocos/2d/CCConfiguration.h b/cocos/2d/CCConfiguration.h index f0296080ec..90387d5c38 100644 --- a/cocos/2d/CCConfiguration.h +++ b/cocos/2d/CCConfiguration.h @@ -128,7 +128,7 @@ public: void gatherGPUInfo(); /** Loads a config file. If the keys are already present, then they are going to be replaced. Otherwise the new keys are added. */ - void loadConfigFile(const char *filename); + void loadConfigFile(const std::string& filename); private: Configuration(void); diff --git a/cocos/2d/CCFontAtlasCache.cpp b/cocos/2d/CCFontAtlasCache.cpp index 197aacde7f..b72b76540c 100644 --- a/cocos/2d/CCFontAtlasCache.cpp +++ b/cocos/2d/CCFontAtlasCache.cpp @@ -30,7 +30,7 @@ NS_CC_BEGIN std::unordered_map FontAtlasCache::_atlasMap; -FontAtlas * FontAtlasCache::getFontAtlasTTF(const char *fontFileName, int size, GlyphCollection glyphs, const char *customGlyphs, bool useDistanceField) +FontAtlas * FontAtlasCache::getFontAtlasTTF(const std::string& fontFileName, int size, GlyphCollection glyphs, const char *customGlyphs, bool useDistanceField) { std::string atlasName = generateFontName(fontFileName, size, glyphs, useDistanceField); FontAtlas *tempAtlas = _atlasMap[atlasName]; @@ -49,7 +49,7 @@ FontAtlas * FontAtlasCache::getFontAtlasTTF(const char *fontFileName, int size, return tempAtlas; } -FontAtlas * FontAtlasCache::getFontAtlasFNT(const char *fontFileName) +FontAtlas * FontAtlasCache::getFontAtlasFNT(const std::string& fontFileName) { std::string atlasName = generateFontName(fontFileName, 0, GlyphCollection::CUSTOM,false); FontAtlas *tempAtlas = _atlasMap[atlasName]; @@ -68,7 +68,7 @@ FontAtlas * FontAtlasCache::getFontAtlasFNT(const char *fontFileName) return tempAtlas; } -std::string FontAtlasCache::generateFontName(const char *fontFileName, int size, GlyphCollection theGlyphs, bool useDistanceField) +std::string FontAtlasCache::generateFontName(const std::string& fontFileName, int size, GlyphCollection theGlyphs, bool useDistanceField) { std::string tempName(fontFileName); diff --git a/cocos/2d/CCFontAtlasCache.h b/cocos/2d/CCFontAtlasCache.h index b64d9ea6f3..acbbb28ca9 100644 --- a/cocos/2d/CCFontAtlasCache.h +++ b/cocos/2d/CCFontAtlasCache.h @@ -38,14 +38,14 @@ class CC_DLL FontAtlasCache public: - static FontAtlas * getFontAtlasTTF(const char *fontFileName, int size, GlyphCollection glyphs, const char *customGlyphs = 0, bool useDistanceField = false); - static FontAtlas * getFontAtlasFNT(const char *fontFileName); + static FontAtlas * getFontAtlasTTF(const std::string& fontFileName, int size, GlyphCollection glyphs, const char *customGlyphs = 0, bool useDistanceField = false); + static FontAtlas * getFontAtlasFNT(const std::string& fontFileName); static bool releaseFontAtlas(FontAtlas *atlas); private: - static std::string generateFontName(const char *fontFileName, int size, GlyphCollection theGlyphs, bool useDistanceField); + static std::string generateFontName(const std::string& fontFileName, int size, GlyphCollection theGlyphs, bool useDistanceField); static std::unordered_map _atlasMap; }; diff --git a/cocos/2d/CCFontAtlasFactory.cpp b/cocos/2d/CCFontAtlasFactory.cpp index 5c06b2ba9c..8e532af2c5 100644 --- a/cocos/2d/CCFontAtlasFactory.cpp +++ b/cocos/2d/CCFontAtlasFactory.cpp @@ -30,7 +30,7 @@ NS_CC_BEGIN -FontAtlas * FontAtlasFactory::createAtlasFromTTF(const char* fntFilePath, int fontSize, GlyphCollection glyphs, const char *customGlyphs, bool useDistanceField) +FontAtlas * FontAtlasFactory::createAtlasFromTTF(const std::string& fntFilePath, int fontSize, GlyphCollection glyphs, const char *customGlyphs, bool useDistanceField) { Font *font = Font::createWithTTF(fntFilePath, fontSize, glyphs, customGlyphs); @@ -45,7 +45,7 @@ FontAtlas * FontAtlasFactory::createAtlasFromTTF(const char* fntFilePath, int fo } } -FontAtlas * FontAtlasFactory::createAtlasFromFNT(const char* fntFilePath) +FontAtlas * FontAtlasFactory::createAtlasFromFNT(const std::string& fntFilePath) { Font *font = Font::createWithFNT(fntFilePath); diff --git a/cocos/2d/CCFontAtlasFactory.h b/cocos/2d/CCFontAtlasFactory.h index d1f3604ad1..b03806dccd 100644 --- a/cocos/2d/CCFontAtlasFactory.h +++ b/cocos/2d/CCFontAtlasFactory.h @@ -36,8 +36,8 @@ class CC_DLL FontAtlasFactory public: - static FontAtlas * createAtlasFromTTF(const char* fntFilePath, int fontSize, GlyphCollection glyphs, const char *customGlyphs = 0, bool useDistanceField = false); - static FontAtlas * createAtlasFromFNT(const char* fntFilePath); + static FontAtlas * createAtlasFromTTF(const std::string& fntFilePath, int fontSize, GlyphCollection glyphs, const char *customGlyphs = 0, bool useDistanceField = false); + static FontAtlas * createAtlasFromFNT(const std::string& fntFilePath); private: }; diff --git a/cocos/2d/CCIMEDelegate.h b/cocos/2d/CCIMEDelegate.h index d7fee2e59b..053359abfc 100644 --- a/cocos/2d/CCIMEDelegate.h +++ b/cocos/2d/CCIMEDelegate.h @@ -25,9 +25,11 @@ THE SOFTWARE. #ifndef __CC_IME_DELEGATE_H__ #define __CC_IME_DELEGATE_H__ +#include #include "CCGeometry.h" NS_CC_BEGIN +extern const std::string STD_STRING_EMPTY; /** * @addtogroup input @@ -114,7 +116,7 @@ protected: * @js NA * @lua NA */ - virtual const char * getContentText() { return 0; } + virtual const std::string& getContentText() { return STD_STRING_EMPTY; } ////////////////////////////////////////////////////////////////////////// // keyboard show/hide notification diff --git a/cocos/2d/CCIMEDispatcher.cpp b/cocos/2d/CCIMEDispatcher.cpp index 8c2724e51e..7bc493c988 100644 --- a/cocos/2d/CCIMEDispatcher.cpp +++ b/cocos/2d/CCIMEDispatcher.cpp @@ -239,14 +239,13 @@ void IMEDispatcher::dispatchDeleteBackward() } while (0); } -const char * IMEDispatcher::getContentText() +const std::string& IMEDispatcher::getContentText() { - const char * contentText = 0; if (_impl && _impl->_delegateWithIme) { - contentText = _impl->_delegateWithIme->getContentText(); + return _impl->_delegateWithIme->getContentText(); } - return (contentText) ? contentText : ""; + return STD_STRING_EMPTY; } ////////////////////////////////////////////////////////////////////////// diff --git a/cocos/2d/CCIMEDispatcher.h b/cocos/2d/CCIMEDispatcher.h index d03ca15e24..ea551a4d3e 100644 --- a/cocos/2d/CCIMEDispatcher.h +++ b/cocos/2d/CCIMEDispatcher.h @@ -77,7 +77,7 @@ public: * @js NA * @lua NA */ - const char * getContentText(); + const std::string& getContentText(); ////////////////////////////////////////////////////////////////////////// // dispatch keyboard notification diff --git a/cocos/2d/CCMenuItem.cpp b/cocos/2d/CCMenuItem.cpp index 31cf74363c..7ec1097ee1 100644 --- a/cocos/2d/CCMenuItem.cpp +++ b/cocos/2d/CCMenuItem.cpp @@ -320,7 +320,7 @@ MenuItemAtlasFont * MenuItemAtlasFont::create(const std::string& value, const st } // XXX: deprecated -MenuItemAtlasFont * MenuItemAtlasFont::create(const char* value, const char* charMapFile, int itemWidth, int itemHeight, char startCharMap, Object* target, SEL_MenuHandler selector) +MenuItemAtlasFont * MenuItemAtlasFont::create(const std::string& value, const std::string& charMapFile, int itemWidth, int itemHeight, char startCharMap, Object* target, SEL_MenuHandler selector) { MenuItemAtlasFont *ret = new MenuItemAtlasFont(); ret->initWithString(value, charMapFile, itemWidth, itemHeight, startCharMap, target, selector); @@ -337,7 +337,7 @@ MenuItemAtlasFont * MenuItemAtlasFont::create(const std::string& value, const st } // XXX: deprecated -bool MenuItemAtlasFont::initWithString(const char* value, const char* charMapFile, int itemWidth, int itemHeight, char startCharMap, Object* target, SEL_MenuHandler selector) +bool MenuItemAtlasFont::initWithString(const std::string& value, const std::string& charMapFile, int itemWidth, int itemHeight, char startCharMap, Object* target, SEL_MenuHandler selector) { _target = target; CC_SAFE_RETAIN(_target); @@ -387,7 +387,7 @@ const std::string& MenuItemFont::getFontName() } // XXX: deprecated -MenuItemFont * MenuItemFont::create(const char *value, Object* target, SEL_MenuHandler selector) +MenuItemFont * MenuItemFont::create(const std::string& value, Object* target, SEL_MenuHandler selector) { MenuItemFont *ret = new MenuItemFont(); ret->initWithString(value, target, selector); @@ -422,9 +422,9 @@ MenuItemFont::~MenuItemFont() } // XXX: deprecated -bool MenuItemFont::initWithString(const char *value, Object* target, SEL_MenuHandler selector) +bool MenuItemFont::initWithString(const std::string& value, Object* target, SEL_MenuHandler selector) { - CCASSERT( value != nullptr && strlen(value) != 0, "Value length must be greater than 0"); + CCASSERT( !value.empty(), "Value length must be greater than 0"); _target = target; CC_SAFE_RETAIN(target); @@ -433,7 +433,7 @@ bool MenuItemFont::initWithString(const char *value, Object* target, SEL_MenuHan bool MenuItemFont::initWithString(const std::string& value, const ccMenuCallback& callback) { - CCASSERT( value.size() >= 0, "Value length must be greater than 0"); + CCASSERT( !value.empty(), "Value length must be greater than 0"); _fontName = _globalFontName; _fontSize = _globalFontSize; @@ -710,7 +710,7 @@ MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std: } // XXX deprecated -MenuItemImage * MenuItemImage::create(const char *normalImage, const char *selectedImage, Object* target, SEL_MenuHandler selector) +MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std::string& selectedImage, Object* target, SEL_MenuHandler selector) { return MenuItemImage::create(normalImage, selectedImage, "", target, selector); } @@ -721,7 +721,7 @@ MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std: } // XXX deprecated -MenuItemImage * MenuItemImage::create(const char *normalImage, const char *selectedImage, const char *disabledImage, Object* target, SEL_MenuHandler selector) +MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage, Object* target, SEL_MenuHandler selector) { MenuItemImage *ret = new MenuItemImage(); if (ret && ret->initWithNormalImage(normalImage, selectedImage, disabledImage, target, selector)) @@ -758,7 +758,7 @@ MenuItemImage * MenuItemImage::create(const std::string& normalImage, const std: } // XXX: deprecated -bool MenuItemImage::initWithNormalImage(const char *normalImage, const char *selectedImage, const char *disabledImage, Object* target, SEL_MenuHandler selector) +bool MenuItemImage::initWithNormalImage(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage, Object* target, SEL_MenuHandler selector) { _target = target; CC_SAFE_RETAIN(_target); diff --git a/cocos/2d/CCMenuItem.h b/cocos/2d/CCMenuItem.h index 112e23c808..d44dd60d97 100644 --- a/cocos/2d/CCMenuItem.h +++ b/cocos/2d/CCMenuItem.h @@ -217,7 +217,7 @@ public: /** creates a menu item from a string and atlas with a target/selector */ static MenuItemAtlasFont* create(const std::string& value, const std::string& charMapFile, int itemWidth, int itemHeight, char startCharMap); /** creates a menu item from a string and atlas. Use it with MenuItemToggle */ - CC_DEPRECATED_ATTRIBUTE static MenuItemAtlasFont* create(const char* value, const char* charMapFile, int itemWidth, int itemHeight, char startCharMap, Object* target, SEL_MenuHandler selector); + CC_DEPRECATED_ATTRIBUTE static MenuItemAtlasFont* create(const std::string& value, const std::string& charMapFile, int itemWidth, int itemHeight, char startCharMap, Object* target, SEL_MenuHandler selector); /** creates a menu item from a string and atlas. Use it with MenuItemToggle */ static MenuItemAtlasFont* create(const std::string& value, const std::string& charMapFile, int itemWidth, int itemHeight, char startCharMap, const ccMenuCallback& callback); @@ -233,7 +233,7 @@ protected: virtual ~MenuItemAtlasFont(){} /** initializes a menu item from a string and atlas with a target/selector */ - CC_DEPRECATED_ATTRIBUTE bool initWithString(const char *value, const char *charMapFile, int itemWidth, int itemHeight, char startCharMap, Object* target, SEL_MenuHandler selector); + CC_DEPRECATED_ATTRIBUTE bool initWithString(const std::string& value, const std::string& charMapFile, int itemWidth, int itemHeight, char startCharMap, Object* target, SEL_MenuHandler selector); /** initializes a menu item from a string and atlas with a target/selector */ bool initWithString(const std::string& value, const std::string& charMapFile, int itemWidth, int itemHeight, char startCharMap, const ccMenuCallback& callback); @@ -251,7 +251,7 @@ public: /** creates a menu item from a string without target/selector. To be used with MenuItemToggle */ static MenuItemFont * create(const std::string& value = ""); /** creates a menu item from a string with a target/selector */ - CC_DEPRECATED_ATTRIBUTE static MenuItemFont * create(const char *value, Object* target, SEL_MenuHandler selector); + CC_DEPRECATED_ATTRIBUTE static MenuItemFont * create(const std::string& value, Object* target, SEL_MenuHandler selector); /** creates a menu item from a string with a target/selector */ static MenuItemFont * create(const std::string& value, const ccMenuCallback& callback); @@ -306,7 +306,7 @@ protected: virtual ~MenuItemFont(); /** initializes a menu item from a string with a target/selector */ - CC_DEPRECATED_ATTRIBUTE bool initWithString(const char *value, Object* target, SEL_MenuHandler selector); + CC_DEPRECATED_ATTRIBUTE bool initWithString(const std::string& value, Object* target, SEL_MenuHandler selector); /** initializes a menu item from a string with a target/selector */ bool initWithString(const std::string& value, const ccMenuCallback& callback); @@ -411,12 +411,12 @@ public: /** creates a menu item with a normal,selected and disabled image*/ static MenuItemImage* create(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage); /** creates a menu item with a normal and selected image with target/selector */ - CC_DEPRECATED_ATTRIBUTE static MenuItemImage* create(const char *normalImage, const char *selectedImage, Object* target, SEL_MenuHandler selector); + CC_DEPRECATED_ATTRIBUTE static MenuItemImage* create(const std::string& normalImage, const std::string& selectedImage, Object* target, SEL_MenuHandler selector); /** creates a menu item with a normal and selected image with a callable object */ static MenuItemImage* create(const std::string&normalImage, const std::string&selectedImage, const ccMenuCallback& callback); /** creates a menu item with a normal,selected and disabled image with target/selector */ - CC_DEPRECATED_ATTRIBUTE static MenuItemImage* create(const char *normalImage, const char *selectedImage, const char *disabledImage, Object* target, SEL_MenuHandler selector); + CC_DEPRECATED_ATTRIBUTE static MenuItemImage* create(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage, Object* target, SEL_MenuHandler selector); /** creates a menu item with a normal,selected and disabled image with a callable object */ static MenuItemImage* create(const std::string&normalImage, const std::string&selectedImage, const std::string&disabledImage, const ccMenuCallback& callback); @@ -440,7 +440,7 @@ protected: bool init(); /** initializes a menu item with a normal, selected and disabled image with target/selector */ - CC_DEPRECATED_ATTRIBUTE bool initWithNormalImage(const char *normalImage, const char *selectedImage, const char *disabledImage, Object* target, SEL_MenuHandler selector); + CC_DEPRECATED_ATTRIBUTE bool initWithNormalImage(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage, Object* target, SEL_MenuHandler selector); /** initializes a menu item with a normal, selected and disabled image with a callable object */ bool initWithNormalImage(const std::string& normalImage, const std::string& selectedImage, const std::string& disabledImage, const ccMenuCallback& callback); diff --git a/cocos/2d/CCMotionStreak.cpp b/cocos/2d/CCMotionStreak.cpp index 6034cac483..70a00b622c 100644 --- a/cocos/2d/CCMotionStreak.cpp +++ b/cocos/2d/CCMotionStreak.cpp @@ -65,7 +65,7 @@ MotionStreak::~MotionStreak() CC_SAFE_FREE(_texCoords); } -MotionStreak* MotionStreak::create(float fade, float minSeg, float stroke, const Color3B& color, const char* path) +MotionStreak* MotionStreak::create(float fade, float minSeg, float stroke, const Color3B& color, const std::string& path) { MotionStreak *ret = new MotionStreak(); if (ret && ret->initWithFade(fade, minSeg, stroke, color, path)) @@ -91,9 +91,9 @@ MotionStreak* MotionStreak::create(float fade, float minSeg, float stroke, const return nullptr; } -bool MotionStreak::initWithFade(float fade, float minSeg, float stroke, const Color3B& color, const char* path) +bool MotionStreak::initWithFade(float fade, float minSeg, float stroke, const Color3B& color, const std::string& path) { - CCASSERT(path != nullptr, "Invalid filename"); + CCASSERT(!path.empty(), "Invalid filename"); Texture2D *texture = Director::getInstance()->getTextureCache()->addImage(path); return initWithFade(fade, minSeg, stroke, color, texture); diff --git a/cocos/2d/CCMotionStreak.h b/cocos/2d/CCMotionStreak.h index e26ccaad6f..a8aaf5e4b4 100644 --- a/cocos/2d/CCMotionStreak.h +++ b/cocos/2d/CCMotionStreak.h @@ -50,7 +50,7 @@ class CC_DLL MotionStreak : public Node, public TextureProtocol { public: /** creates and initializes a motion streak with fade in seconds, minimum segments, stroke's width, color, texture filename */ - static MotionStreak* create(float fade, float minSeg, float stroke, const Color3B& color, const char* path); + static MotionStreak* create(float fade, float minSeg, float stroke, const Color3B& color, const std::string& path); /** creates and initializes a motion streak with fade in seconds, minimum segments, stroke's width, color, texture */ static MotionStreak* create(float fade, float minSeg, float stroke, const Color3B& color, Texture2D* texture); @@ -116,7 +116,7 @@ protected: virtual ~MotionStreak(); /** initializes a motion streak with fade in seconds, minimum segments, stroke's width, color and texture filename */ - bool initWithFade(float fade, float minSeg, float stroke, const Color3B& color, const char* path); + bool initWithFade(float fade, float minSeg, float stroke, const Color3B& color, const std::string& path); /** initializes a motion streak with fade in seconds, minimum segments, stroke's width, color and texture */ bool initWithFade(float fade, float minSeg, float stroke, const Color3B& color, Texture2D* texture); diff --git a/cocos/2d/CCNode.cpp b/cocos/2d/CCNode.cpp index cee03e61ac..496fcb4a11 100644 --- a/cocos/2d/CCNode.cpp +++ b/cocos/2d/CCNode.cpp @@ -1346,7 +1346,7 @@ void Node::updateTransform() child->updateTransform(); } -Component* Node::getComponent(const char *pName) +Component* Node::getComponent(const std::string& pName) { if( _componentContainer ) return _componentContainer->get(pName); @@ -1361,7 +1361,7 @@ bool Node::addComponent(Component *pComponent) return _componentContainer->add(pComponent); } -bool Node::removeComponent(const char *pName) +bool Node::removeComponent(const std::string& pName) { if( _componentContainer ) return _componentContainer->remove(pName); diff --git a/cocos/2d/CCNode.h b/cocos/2d/CCNode.h index c04c5c8fbe..af95adc220 100644 --- a/cocos/2d/CCNode.h +++ b/cocos/2d/CCNode.h @@ -1322,7 +1322,7 @@ public: /** * gets a component by its name */ - Component* getComponent(const char *pName); + Component* getComponent(const std::string& pName); /** * adds a component @@ -1332,7 +1332,7 @@ public: /** * removes a component by its name */ - virtual bool removeComponent(const char *pName); + virtual bool removeComponent(const std::string& pName); /** * removes all components diff --git a/cocos/2d/CCNotificationCenter.cpp b/cocos/2d/CCNotificationCenter.cpp index 8eb36c13eb..7d2a647b92 100644 --- a/cocos/2d/CCNotificationCenter.cpp +++ b/cocos/2d/CCNotificationCenter.cpp @@ -74,7 +74,7 @@ void NotificationCenter::purgeNotificationCenter(void) // // internal functions // -bool NotificationCenter::observerExisted(Object *target,const char *name, Object *sender) +bool NotificationCenter::observerExisted(Object *target, const std::string& name, Object *sender) { Object* obj = nullptr; CCARRAY_FOREACH(_observers, obj) @@ -83,7 +83,7 @@ bool NotificationCenter::observerExisted(Object *target,const char *name, Object if (!observer) continue; - if (!strcmp(observer->getName(),name) && observer->getTarget() == target && observer->getSender() == sender) + if (observer->getName() == name && observer->getTarget() == target && observer->getSender() == sender) return true; } return false; @@ -94,7 +94,7 @@ bool NotificationCenter::observerExisted(Object *target,const char *name, Object // void NotificationCenter::addObserver(Object *target, SEL_CallFuncO selector, - const char *name, + const std::string& name, Object *sender) { if (this->observerExisted(target, name, sender)) @@ -108,7 +108,7 @@ void NotificationCenter::addObserver(Object *target, _observers->addObject(observer); } -void NotificationCenter::removeObserver(Object *target,const char *name) +void NotificationCenter::removeObserver(Object *target, const std::string& name) { Object* obj = nullptr; CCARRAY_FOREACH(_observers, obj) @@ -117,7 +117,7 @@ void NotificationCenter::removeObserver(Object *target,const char *name) if (!observer) continue; - if (!strcmp(observer->getName(),name) && observer->getTarget() == target) + if (observer->getName() == name && observer->getTarget() == target) { _observers->removeObject(observer); return; @@ -146,7 +146,7 @@ int NotificationCenter::removeAllObservers(Object *target) return static_cast(toRemove->count()); } -void NotificationCenter::registerScriptObserver( Object *target, int handler,const char* name) +void NotificationCenter::registerScriptObserver( Object *target, int handler,const std::string& name) { if (this->observerExisted(target, name, nullptr)) @@ -161,7 +161,7 @@ void NotificationCenter::registerScriptObserver( Object *target, int handler,con _observers->addObject(observer); } -void NotificationCenter::unregisterScriptObserver(Object *target,const char* name) +void NotificationCenter::unregisterScriptObserver(Object *target,const std::string& name) { Object* obj = nullptr; CCARRAY_FOREACH(_observers, obj) @@ -170,14 +170,14 @@ void NotificationCenter::unregisterScriptObserver(Object *target,const char* nam if (!observer) continue; - if ( !strcmp(observer->getName(),name) && observer->getTarget() == target) + if ( observer->getName() == name && observer->getTarget() == target) { _observers->removeObject(observer); } } } -void NotificationCenter::postNotification(const char *name, Object *sender) +void NotificationCenter::postNotification(const std::string& name, Object *sender) { __Array* ObserversCopy = __Array::createWithCapacity(_observers->count()); ObserversCopy->addObjectsFromArray(_observers); @@ -188,11 +188,11 @@ void NotificationCenter::postNotification(const char *name, Object *sender) if (!observer) continue; - if (!strcmp(name,observer->getName()) && (observer->getSender() == sender || observer->getSender() == nullptr || sender == nullptr)) + if (observer->getName() == name && (observer->getSender() == sender || observer->getSender() == nullptr || sender == nullptr)) { if (0 != observer->getHandler()) { - BasicScriptData data(this, (void*)name); + BasicScriptData data(this, (void*)name.c_str()); ScriptEvent scriptEvent(kNotificationEvent,(void*)&data); ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&scriptEvent); } @@ -204,14 +204,14 @@ void NotificationCenter::postNotification(const char *name, Object *sender) } } -void NotificationCenter::postNotification(const char *name) +void NotificationCenter::postNotification(const std::string& name) { this->postNotification(name,nullptr); } -int NotificationCenter::getObserverHandlerByName(const char* name) +int NotificationCenter::getObserverHandlerByName(const std::string& name) { - if (nullptr == name || strlen(name) == 0) + if (name.empty()) { return 0; } @@ -223,7 +223,7 @@ int NotificationCenter::getObserverHandlerByName(const char* name) if (nullptr == observer) continue; - if ( 0 == strcmp(observer->getName(),name) ) + if ( observer->getName() == name ) { return observer->getHandler(); break; @@ -240,7 +240,7 @@ int NotificationCenter::getObserverHandlerByName(const char* name) //////////////////////////////////////////////////////////////////////////////// NotificationObserver::NotificationObserver(Object *target, SEL_CallFuncO selector, - const char *name, + const std::string& name, Object *sender) { _target = target; @@ -278,9 +278,9 @@ SEL_CallFuncO NotificationObserver::getSelector() const return _selector; } -const char* NotificationObserver::getName() const +const std::string& NotificationObserver::getName() const { - return _name.c_str(); + return _name; } Object* NotificationObserver::getSender() const diff --git a/cocos/2d/CCNotificationCenter.h b/cocos/2d/CCNotificationCenter.h index 6935255518..f2265b1518 100644 --- a/cocos/2d/CCNotificationCenter.h +++ b/cocos/2d/CCNotificationCenter.h @@ -67,14 +67,14 @@ public: */ void addObserver(Object *target, SEL_CallFuncO selector, - const char *name, + const std::string& name, Object *sender); /** @brief Removes the observer by the specified target and name. * @param target The target of this notification. * @param name The name of this notification. */ - void removeObserver(Object *target,const char *name); + void removeObserver(Object *target,const std::string& name); /** @brief Removes all notifications registered by this target * @param target The target of this notification. @@ -86,21 +86,21 @@ public: * @note Only supports Lua Binding now. * @param handler The lua handler. */ - void registerScriptObserver(Object *target,int handler,const char* name); + void registerScriptObserver(Object *target,int handler,const std::string& name); /** Unregisters script observer */ - void unregisterScriptObserver(Object *target,const char* name); + void unregisterScriptObserver(Object *target,const std::string& name); /** @brief Posts one notification event by name. * @param name The name of this notification. */ - void postNotification(const char *name); + void postNotification(const std::string& name); /** @brief Posts one notification event by name. * @param name The name of this notification. * @param sender The object posting the notification. Can be nullptr */ - void postNotification(const char *name, Object *sender); + void postNotification(const std::string& name, Object *sender); /** @brief Gets script handler. * @note Only supports Lua Binding now. @@ -112,12 +112,12 @@ public: * @param name The name of this notification. * @return The observer script handle. */ - int getObserverHandlerByName(const char* name); + int getObserverHandlerByName(const std::string& name); private: // internal functions // Check whether the observer exists by the specified target and name. - bool observerExisted(Object *target,const char *name, Object *sender); + bool observerExisted(Object *target,const std::string& name, Object *sender); // variables // @@ -138,7 +138,7 @@ public: */ NotificationObserver(Object *target, SEL_CallFuncO selector, - const char *name, + const std::string& name, Object *sender); /** NotificationObserver destructor function @@ -168,7 +168,7 @@ public: * @js NA * @lua NA */ - const char* getName() const; + const std::string& getName() const; /** * @js NA * @lua NA diff --git a/cocos/2d/CCParticleExamples.cpp b/cocos/2d/CCParticleExamples.cpp index d2368d5cac..6f7a307db3 100644 --- a/cocos/2d/CCParticleExamples.cpp +++ b/cocos/2d/CCParticleExamples.cpp @@ -41,7 +41,7 @@ static Texture2D* getDefaultTexture() do { bool ret = false; - const char* key = "/__firePngData"; + const std::string key = "/__firePngData"; texture = Director::getInstance()->getTextureCache()->getTextureForKey(key); CC_BREAK_IF(texture != nullptr); diff --git a/cocos/2d/CCSpriteBatchNode.cpp b/cocos/2d/CCSpriteBatchNode.cpp index 2fafa72070..024d438931 100644 --- a/cocos/2d/CCSpriteBatchNode.cpp +++ b/cocos/2d/CCSpriteBatchNode.cpp @@ -66,7 +66,7 @@ SpriteBatchNode* SpriteBatchNode::createWithTexture(Texture2D* tex, ssize_t capa * creation with File Image */ -SpriteBatchNode* SpriteBatchNode::create(const char *fileImage, ssize_t capacity/* = DEFAULT_CAPACITY*/) +SpriteBatchNode* SpriteBatchNode::create(const std::string& fileImage, ssize_t capacity/* = DEFAULT_CAPACITY*/) { SpriteBatchNode *batchNode = new SpriteBatchNode(); batchNode->initWithFile(fileImage, capacity); @@ -112,7 +112,7 @@ bool SpriteBatchNode::init() /* * init with FileImage */ -bool SpriteBatchNode::initWithFile(const char* fileImage, ssize_t capacity) +bool SpriteBatchNode::initWithFile(const std::string& fileImage, ssize_t capacity) { Texture2D *texture2D = Director::getInstance()->getTextureCache()->addImage(fileImage); return initWithTexture(texture2D, capacity); diff --git a/cocos/2d/CCSpriteBatchNode.h b/cocos/2d/CCSpriteBatchNode.h index 29eb7fadb3..82adde74af 100644 --- a/cocos/2d/CCSpriteBatchNode.h +++ b/cocos/2d/CCSpriteBatchNode.h @@ -74,7 +74,7 @@ public: The capacity will be increased in 33% in runtime if it run out of space. The file will be loaded using the TextureMgr. */ - static SpriteBatchNode* create(const char* fileImage, ssize_t capacity = DEFAULT_CAPACITY); + static SpriteBatchNode* create(const std::string& fileImage, ssize_t capacity = DEFAULT_CAPACITY); /** * @js ctor */ @@ -95,7 +95,7 @@ public: * @js init * @lua init */ - bool initWithFile(const char* fileImage, ssize_t capacity); + bool initWithFile(const std::string& fileImage, ssize_t capacity); bool init(); /** returns the TextureAtlas object */ diff --git a/cocos/2d/CCTMXLayer.h b/cocos/2d/CCTMXLayer.h index 31cd4b9cbd..d153f6472d 100644 --- a/cocos/2d/CCTMXLayer.h +++ b/cocos/2d/CCTMXLayer.h @@ -143,8 +143,8 @@ public: /** Creates the tiles */ void setupTiles(); - inline const char* getLayerName(){ return _layerName.c_str(); } - inline void setLayerName(const char *layerName){ _layerName = layerName; } + inline const std::string& getLayerName(){ return _layerName; } + inline void setLayerName(const std::string& layerName){ _layerName = layerName; } /** size of the layer in tiles */ inline const Size& getLayerSize() const { return _layerSize; }; diff --git a/cocos/2d/CCTMXTiledMap.h b/cocos/2d/CCTMXTiledMap.h index a72a85ea1b..7f39531a7f 100644 --- a/cocos/2d/CCTMXTiledMap.h +++ b/cocos/2d/CCTMXTiledMap.h @@ -122,7 +122,7 @@ public: * @js NA * @lua NA */ - CC_DEPRECATED_ATTRIBUTE TMXLayer* layerNamed(const char *layerName) const { return getLayer(layerName); }; + CC_DEPRECATED_ATTRIBUTE TMXLayer* layerNamed(const std::string& layerName) const { return getLayer(layerName); }; /** return the TMXObjectGroup for the specific group */ TMXObjectGroup* getObjectGroup(const std::string& groupName) const; @@ -130,7 +130,7 @@ public: * @js NA * @lua NA */ - CC_DEPRECATED_ATTRIBUTE TMXObjectGroup* objectGroupNamed(const char *groupName) const { return getObjectGroup(groupName); }; + CC_DEPRECATED_ATTRIBUTE TMXObjectGroup* objectGroupNamed(const std::string& groupName) const { return getObjectGroup(groupName); }; /** return the value for the specific property name */ Value getProperty(const std::string& propertyName) const; diff --git a/cocos/2d/CCTextFieldTTF.cpp b/cocos/2d/CCTextFieldTTF.cpp index 93ef04cd1d..6924296cfc 100644 --- a/cocos/2d/CCTextFieldTTF.cpp +++ b/cocos/2d/CCTextFieldTTF.cpp @@ -236,9 +236,9 @@ void TextFieldTTF::deleteBackward() setString(text); } -const char * TextFieldTTF::getContentText() +const std::string& TextFieldTTF::getContentText() { - return _inputText.c_str(); + return _inputText; } void TextFieldTTF::draw() diff --git a/cocos/2d/CCTextFieldTTF.h b/cocos/2d/CCTextFieldTTF.h index d36df0c547..5c011b18cc 100644 --- a/cocos/2d/CCTextFieldTTF.h +++ b/cocos/2d/CCTextFieldTTF.h @@ -182,7 +182,7 @@ protected: virtual bool canDetachWithIME() override; virtual void insertText(const char * text, int len) override; virtual void deleteBackward() override; - virtual const char * getContentText() override; + virtual const std::string& getContentText() override; private: class LengthStack; LengthStack * _lens; diff --git a/cocos/2d/CCTextureAtlas.cpp b/cocos/2d/CCTextureAtlas.cpp index e443a26146..f4f6422bbe 100644 --- a/cocos/2d/CCTextureAtlas.cpp +++ b/cocos/2d/CCTextureAtlas.cpp @@ -110,7 +110,7 @@ void TextureAtlas::setQuads(V3F_C4B_T2F_Quad* quads) // TextureAtlas - alloc & init -TextureAtlas * TextureAtlas::create(const char* file, ssize_t capacity) +TextureAtlas * TextureAtlas::create(const std::string& file, ssize_t capacity) { TextureAtlas * textureAtlas = new TextureAtlas(); if(textureAtlas && textureAtlas->initWithFile(file, capacity)) @@ -134,7 +134,7 @@ TextureAtlas * TextureAtlas::createWithTexture(Texture2D *texture, ssize_t capac return nullptr; } -bool TextureAtlas::initWithFile(const char * file, ssize_t capacity) +bool TextureAtlas::initWithFile(const std::string& file, ssize_t capacity) { // retained in property Texture2D *texture = Director::getInstance()->getTextureCache()->addImage(file); @@ -145,7 +145,7 @@ bool TextureAtlas::initWithFile(const char * file, ssize_t capacity) } else { - CCLOG("cocos2d: Could not open file: %s", file); + CCLOG("cocos2d: Could not open file: %s", file.c_str()); return false; } } diff --git a/cocos/2d/CCTextureAtlas.h b/cocos/2d/CCTextureAtlas.h index 424d67eb99..2862b13eb0 100644 --- a/cocos/2d/CCTextureAtlas.h +++ b/cocos/2d/CCTextureAtlas.h @@ -59,7 +59,7 @@ public: /** creates a TextureAtlas with an filename and with an initial capacity for Quads. * The TextureAtlas capacity can be increased in runtime. */ - static TextureAtlas* create(const char* file , ssize_t capacity); + static TextureAtlas* create(const std::string& file , ssize_t capacity); /** creates a TextureAtlas with a previously initialized Texture2D object, and * with an initial capacity for n Quads. @@ -81,7 +81,7 @@ public: * * WARNING: Do not reinitialize the TextureAtlas because it will leak memory (issue #706) */ - bool initWithFile(const char* file, ssize_t capacity); + bool initWithFile(const std::string& file, ssize_t capacity); /** initializes a TextureAtlas with a previously initialized Texture2D object, and * with an initial capacity for Quads. diff --git a/cocos/2d/CCTextureCache.cpp b/cocos/2d/CCTextureCache.cpp index d7a745a40f..02313e9192 100644 --- a/cocos/2d/CCTextureCache.cpp +++ b/cocos/2d/CCTextureCache.cpp @@ -193,13 +193,13 @@ void TextureCache::loadImage() if (generateImage) { - const char *filename = asyncStruct->filename.c_str(); + const std::string& filename = asyncStruct->filename; // generate image image = new Image(); if (image && !image->initWithImageFileThreadSafe(filename)) { CC_SAFE_RELEASE(image); - CCLOG("can not load %s", filename); + CCLOG("can not load %s", filename.c_str()); continue; } } @@ -245,7 +245,7 @@ void TextureCache::addImageAsyncCallBack(float dt) Object *target = asyncStruct->target; SEL_CallFuncO selector = asyncStruct->selector; - const char* filename = asyncStruct->filename.c_str(); + const std::string& filename = asyncStruct->filename; Texture2D *texture = nullptr; if (image) @@ -326,7 +326,7 @@ Texture2D * TextureCache::addImage(const std::string &path) { #if CC_ENABLE_CACHE_TEXTURE_DATA // cache the texture file name - VolatileTextureMgr::addImageTexture(texture, fullpath.c_str()); + VolatileTextureMgr::addImageTexture(texture, fullpath); #endif // texture already retained, no need to re-retain it _textures.insert( std::make_pair(fullpath, texture) ); @@ -509,7 +509,7 @@ VolatileTexture::~VolatileTexture() CC_SAFE_RELEASE(_uiImage); } -void VolatileTextureMgr::addImageTexture(Texture2D *tt, const char* imageFileName) +void VolatileTextureMgr::addImageTexture(Texture2D *tt, const std::string& imageFileName) { if (_isReloading) { diff --git a/cocos/2d/CCTextureCache.h b/cocos/2d/CCTextureCache.h index 40aaf7be9a..df94ff16a9 100644 --- a/cocos/2d/CCTextureCache.h +++ b/cocos/2d/CCTextureCache.h @@ -124,13 +124,13 @@ public: * If "key" is nil, then a new texture will be created each time. */ Texture2D* addImage(Image *image, const std::string &key); - CC_DEPRECATED_ATTRIBUTE Texture2D* addUIImage(Image *image, const char *key) { return addImage(image,key); } + CC_DEPRECATED_ATTRIBUTE Texture2D* addUIImage(Image *image, const std::string& key) { return addImage(image,key); } /** Returns an already created texture. Returns nil if the texture doesn't exist. @since v0.99.5 */ Texture2D* getTextureForKey(const std::string& key) const; - CC_DEPRECATED_ATTRIBUTE Texture2D* textureForKey(const char* key) const { return getTextureForKey(key); } + CC_DEPRECATED_ATTRIBUTE Texture2D* textureForKey(const std::string& key) const { return getTextureForKey(key); } /** Purges the dictionary of loaded textures. * Call this method if you receive the "Memory Warning" @@ -250,7 +250,7 @@ protected: class VolatileTextureMgr { public: - static void addImageTexture(Texture2D *tt, const char* imageFileName); + static void addImageTexture(Texture2D *tt, const std::string& imageFileName); static void addStringTexture(Texture2D *tt, const char* text, const FontDefinition& fontDefinition); static void addDataTexture(Texture2D *tt, void* data, int dataLen, Texture2D::PixelFormat pixelFormat, const Size& contentSize); static void addImage(Texture2D *tt, Image *image); diff --git a/cocos/2d/ccTypes.cpp b/cocos/2d/ccTypes.cpp index e0ea80029e..da1430110d 100644 --- a/cocos/2d/ccTypes.cpp +++ b/cocos/2d/ccTypes.cpp @@ -25,6 +25,7 @@ #include "ccTypes.h" NS_CC_BEGIN +const std::string STD_STRING_EMPTY(""); /** * Color3B diff --git a/cocos/2d/ccTypes.h b/cocos/2d/ccTypes.h index c5e5d36f83..7083a34d6e 100644 --- a/cocos/2d/ccTypes.h +++ b/cocos/2d/ccTypes.h @@ -471,6 +471,8 @@ public: Acceleration(): x(0), y(0), z(0), timestamp(0) {} }; +extern const std::string STD_STRING_EMPTY; + NS_CC_END #endif //__CCTYPES_H__ diff --git a/cocos/2d/platform/CCFileUtils.cpp b/cocos/2d/platform/CCFileUtils.cpp index 9adaacde33..01ae6064e0 100644 --- a/cocos/2d/platform/CCFileUtils.cpp +++ b/cocos/2d/platform/CCFileUtils.cpp @@ -83,7 +83,7 @@ public: { } - ValueMap dictionaryWithContentsOfFile(const char *fileName) + ValueMap dictionaryWithContentsOfFile(const std::string& fileName) { _resultType = SAX_RESULT_DICT; SAXParser parser; @@ -95,7 +95,7 @@ public: return _rootDict; } - ValueVector arrayWithContentsOfFile(const char* fileName) + ValueVector arrayWithContentsOfFile(const std::string& fileName) { _resultType = SAX_RESULT_ARRAY; SAXParser parser; @@ -555,10 +555,10 @@ Data FileUtils::getDataFromFile(const std::string& filename) return getData(filename, false); } -unsigned char* FileUtils::getFileData(const char* filename, const char* mode, ssize_t *size) +unsigned char* FileUtils::getFileData(const std::string& filename, const char* mode, ssize_t *size) { unsigned char * buffer = nullptr; - CCASSERT(filename != nullptr && size != nullptr && mode != nullptr, "Invalid parameters."); + CCASSERT(!filename.empty() && size != nullptr && mode != nullptr, "Invalid parameters."); *size = 0; do { @@ -585,7 +585,7 @@ unsigned char* FileUtils::getFileData(const char* filename, const char* mode, ss return buffer; } -unsigned char* FileUtils::getFileDataFromZip(const char* zipFilePath, const char* filename, ssize_t *size) +unsigned char* FileUtils::getFileDataFromZip(const std::string& zipFilePath, const std::string& filename, ssize_t *size) { unsigned char * buffer = nullptr; unzFile file = nullptr; @@ -593,13 +593,12 @@ unsigned char* FileUtils::getFileDataFromZip(const char* zipFilePath, const char do { - CC_BREAK_IF(!zipFilePath || !filename); - CC_BREAK_IF(strlen(zipFilePath) == 0); + CC_BREAK_IF(zipFilePath.empty()); - file = unzOpen(zipFilePath); + file = unzOpen(zipFilePath.c_str()); CC_BREAK_IF(!file); - int ret = unzLocateFile(file, filename, 1); + int ret = unzLocateFile(file, filename.c_str(), 1); CC_BREAK_IF(UNZ_OK != ret); char filePathA[260]; diff --git a/cocos/2d/platform/CCFileUtils.h b/cocos/2d/platform/CCFileUtils.h index 8035e83b97..03cbb3a2a1 100644 --- a/cocos/2d/platform/CCFileUtils.h +++ b/cocos/2d/platform/CCFileUtils.h @@ -96,7 +96,7 @@ public: * @return Upon success, a pointer to the data is returned, otherwise NULL. * @warning Recall: you are responsible for calling free() on any Non-NULL pointer returned. */ - CC_DEPRECATED_ATTRIBUTE virtual unsigned char* getFileData(const char* filename, const char* mode, ssize_t *size); + CC_DEPRECATED_ATTRIBUTE virtual unsigned char* getFileData(const std::string& filename, const char* mode, ssize_t *size); /** * Gets resource file data from a zip file. @@ -106,7 +106,7 @@ public: * @return Upon success, a pointer to the data is returned, otherwise nullptr. * @warning Recall: you are responsible for calling free() on any Non-nullptr pointer returned. */ - virtual unsigned char* getFileDataFromZip(const char* zipFilePath, const char* filename, ssize_t *size); + virtual unsigned char* getFileDataFromZip(const std::string& zipFilePath, const std::string& filename, ssize_t *size); /** Returns the fullpath for a given filename. diff --git a/cocos/2d/platform/CCImage.h b/cocos/2d/platform/CCImage.h index 6351ff6439..c89bcd3412 100644 --- a/cocos/2d/platform/CCImage.h +++ b/cocos/2d/platform/CCImage.h @@ -111,7 +111,7 @@ public: @param path the absolute file path. @return true if loaded correctly. */ - bool initWithImageFile(const char *path); + bool initWithImageFile(const std::string& path); /** @brief Load image from stream buffer. @@ -246,7 +246,7 @@ private: @param imageType the type of image, currently only supporting two types. @return true if loaded correctly. */ - bool initWithImageFileThreadSafe(const char *fullpath); + bool initWithImageFileThreadSafe(const std::string& fullpath); Format detectFormat(const unsigned char * data, ssize_t dataLen); bool isPng(const unsigned char * data, ssize_t dataLen); diff --git a/cocos/2d/platform/CCImageCommon_cpp.h b/cocos/2d/platform/CCImageCommon_cpp.h index 3f4d0bdc35..a05e11e4fa 100644 --- a/cocos/2d/platform/CCImageCommon_cpp.h +++ b/cocos/2d/platform/CCImageCommon_cpp.h @@ -396,10 +396,10 @@ Image::~Image() } } -bool Image::initWithImageFile(const char * strPath) +bool Image::initWithImageFile(const std::string& path) { - bool bRet = false; - _filePath = FileUtils::getInstance()->fullPathForFilename(strPath); + bool ret = false; + _filePath = FileUtils::getInstance()->fullPathForFilename(path); #ifdef EMSCRIPTEN // Emscripten includes a re-implementation of SDL that uses HTML5 canvas @@ -409,7 +409,7 @@ bool Image::initWithImageFile(const char * strPath) SDL_Surface *iSurf = IMG_Load(fullPath.c_str()); int size = 4 * (iSurf->w * iSurf->h); - bRet = initWithRawData((const unsigned char*)iSurf->pixels, size, iSurf->w, iSurf->h, 8, true); + ret = initWithRawData((const unsigned char*)iSurf->pixels, size, iSurf->w, iSurf->h, 8, true); unsigned int *tmp = (unsigned int *)_data; int nrPixels = iSurf->w * iSurf->h; @@ -425,14 +425,14 @@ bool Image::initWithImageFile(const char * strPath) if (!data.isNull()) { - bRet = initWithImageData(data.getBytes(), data.getSize()); + ret = initWithImageData(data.getBytes(), data.getSize()); } #endif // EMSCRIPTEN - return bRet; + return ret; } -bool Image::initWithImageFileThreadSafe(const char *fullpath) +bool Image::initWithImageFileThreadSafe(const std::string& fullpath) { bool ret = false; _filePath = fullpath; diff --git a/cocos/2d/platform/android/CCFileUtilsAndroid.cpp b/cocos/2d/platform/android/CCFileUtilsAndroid.cpp index 6e9aae8eca..061cd9b789 100644 --- a/cocos/2d/platform/android/CCFileUtilsAndroid.cpp +++ b/cocos/2d/platform/android/CCFileUtilsAndroid.cpp @@ -247,11 +247,11 @@ Data FileUtilsAndroid::getDataFromFile(const std::string& filename) return getData(filename, false); } -unsigned char* FileUtilsAndroid::getFileData(const char* filename, const char* mode, ssize_t * size) +unsigned char* FileUtilsAndroid::getFileData(const std::string& filename, const char* mode, ssize_t * size) { unsigned char * data = 0; - if ((! filename) || (! mode) || 0 == strlen(filename)) + if ( filename.empty() || (! mode) ) { return 0; } diff --git a/cocos/2d/platform/android/CCFileUtilsAndroid.h b/cocos/2d/platform/android/CCFileUtilsAndroid.h index 0097a2c149..f7819ab8ab 100644 --- a/cocos/2d/platform/android/CCFileUtilsAndroid.h +++ b/cocos/2d/platform/android/CCFileUtilsAndroid.h @@ -57,7 +57,7 @@ public: bool init(); /** @deprecated Please use FileUtils::getDataFromFile or FileUtils::getStringFromFile instead. */ - CC_DEPRECATED_ATTRIBUTE virtual unsigned char* getFileData(const char* filename, const char* mode, ssize_t * size) override; + CC_DEPRECATED_ATTRIBUTE virtual unsigned char* getFileData(const std::string& filename, const char* mode, ssize_t * size) override; /** * Gets string from a file. diff --git a/cocos/2d/platform/android/jni/IMEJni.cpp b/cocos/2d/platform/android/jni/IMEJni.cpp index 30bf6a1e47..5cc75a8fcd 100644 --- a/cocos/2d/platform/android/jni/IMEJni.cpp +++ b/cocos/2d/platform/android/jni/IMEJni.cpp @@ -74,7 +74,7 @@ extern "C" { if (JniHelper::getJavaVM()->GetEnv((void**)&env, JNI_VERSION_1_4) != JNI_OK || ! env) { return 0; } - const char * text = cocos2d::IMEDispatcher::sharedDispatcher()->getContentText(); - return env->NewStringUTF(text); + const std::string& text = cocos2d::IMEDispatcher::sharedDispatcher()->getContentText(); + return env->NewStringUTF(text.c_str()); } } diff --git a/cocos/2d/platform/ios/CCImage.mm b/cocos/2d/platform/ios/CCImage.mm index fdecdb9b5c..a2cc87dbec 100644 --- a/cocos/2d/platform/ios/CCImage.mm +++ b/cocos/2d/platform/ios/CCImage.mm @@ -87,20 +87,20 @@ static CGSize _calculateStringSize(NSString *str, id font, CGSize *constrainSize #define ALIGN_CENTER 3 #define ALIGN_BOTTOM 2 -static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign, const char * pFontName, int nSize, tImageInfo* pInfo) +static bool _initWithString(const char * text, cocos2d::Image::TextAlign align, const char * fontName, int size, tImageInfo* info) { bool bRet = false; do { - CC_BREAK_IF(! pText || ! pInfo); + CC_BREAK_IF(! text || ! info); - NSString * str = [NSString stringWithUTF8String:pText]; - NSString * fntName = [NSString stringWithUTF8String:pFontName]; + NSString * str = [NSString stringWithUTF8String:text]; + NSString * fntName = [NSString stringWithUTF8String:fontName]; CGSize dim, constrainSize; - constrainSize.width = pInfo->width; - constrainSize.height = pInfo->height; + constrainSize.width = info->width; + constrainSize.height = info->height; // On iOS custom fonts must be listed beforehand in the App info.plist (in order to be usable) and referenced only the by the font family name itself when // calling [UIFont fontWithName]. Therefore even if the developer adds 'SomeFont.ttf' or 'fonts/SomeFont.ttf' to the App .plist, the font must @@ -110,7 +110,7 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign fntName = [[fntName lastPathComponent] stringByDeletingPathExtension]; // create the font - id font = [UIFont fontWithName:fntName size:nSize]; + id font = [UIFont fontWithName:fntName size:size]; if (font) { @@ -120,7 +120,7 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign { if (!font) { - font = [UIFont systemFontOfSize:nSize]; + font = [UIFont systemFontOfSize:size]; } if (font) @@ -136,7 +136,7 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign if (constrainSize.height > dim.height) { // vertical alignment - unsigned int vAlignment = ((int)eAlign >> 4) & 0x0F; + unsigned int vAlignment = ((int)align >> 4) & 0x0F; if (vAlignment == ALIGN_TOP) { startH = 0; @@ -166,16 +166,16 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign float shadowStrokePaddingX = 0.0f; float shadowStrokePaddingY = 0.0f; - if ( pInfo->hasStroke ) + if ( info->hasStroke ) { - shadowStrokePaddingX = ceilf(pInfo->strokeSize); - shadowStrokePaddingY = ceilf(pInfo->strokeSize); + shadowStrokePaddingX = ceilf(info->strokeSize); + shadowStrokePaddingY = ceilf(info->strokeSize); } - if ( pInfo->hasShadow ) + if ( info->hasShadow ) { - shadowStrokePaddingX = std::max(shadowStrokePaddingX, (float)fabs(pInfo->shadowOffset.width)); - shadowStrokePaddingY = std::max(shadowStrokePaddingY, (float)fabs(pInfo->shadowOffset.height)); + shadowStrokePaddingX = std::max(shadowStrokePaddingX, (float)fabs(info->shadowOffset.width)); + shadowStrokePaddingY = std::max(shadowStrokePaddingY, (float)fabs(info->shadowOffset.height)); } // add the padding (this could be 0 if no shadow and no stroke) @@ -203,7 +203,7 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign } // text color - CGContextSetRGBFillColor(context, pInfo->tintColorR, pInfo->tintColorG, pInfo->tintColorB, 1); + CGContextSetRGBFillColor(context, info->tintColorR, info->tintColorG, info->tintColorB, 1); // move Y rendering to the top of the image CGContextTranslateCTM(context, 0.0f, (dim.height - shadowStrokePaddingY) ); CGContextScaleCTM(context, 1.0f, -1.0f); //NOTE: NSString draws in UIKit referential i.e. renders upside-down compared to CGBitmapContext referential @@ -212,30 +212,30 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign UIGraphicsPushContext(context); // measure text size with specified font and determine the rectangle to draw text in - unsigned uHoriFlag = (int)eAlign & 0x0f; - UITextAlignment align = (UITextAlignment)((2 == uHoriFlag) ? UITextAlignmentRight + unsigned uHoriFlag = (int)align & 0x0f; + UITextAlignment testAlign = (UITextAlignment)((2 == uHoriFlag) ? UITextAlignmentRight : (3 == uHoriFlag) ? UITextAlignmentCenter : UITextAlignmentLeft); // take care of stroke if needed - if ( pInfo->hasStroke ) + if ( info->hasStroke ) { CGContextSetTextDrawingMode(context, kCGTextFillStroke); - CGContextSetRGBStrokeColor(context, pInfo->strokeColorR, pInfo->strokeColorG, pInfo->strokeColorB, 1); - CGContextSetLineWidth(context, pInfo->strokeSize); + CGContextSetRGBStrokeColor(context, info->strokeColorR, info->strokeColorG, info->strokeColorB, 1); + CGContextSetLineWidth(context, info->strokeSize); } // take care of shadow if needed - if ( pInfo->hasShadow ) + if ( info->hasShadow ) { CGSize offset; - offset.height = pInfo->shadowOffset.height; - offset.width = pInfo->shadowOffset.width; - CGFloat shadowColorValues[] = {0, 0, 0, pInfo->shadowOpacity}; + offset.height = info->shadowOffset.height; + offset.width = info->shadowOffset.width; + CGFloat shadowColorValues[] = {0, 0, 0, info->shadowOpacity}; CGColorRef shadowColor = CGColorCreate (colorSpace, shadowColorValues); - CGContextSetShadowWithColor(context, offset, pInfo->shadowBlur, shadowColor); + CGContextSetShadowWithColor(context, offset, info->shadowBlur, shadowColor); CGColorRelease (shadowColor); } @@ -266,7 +266,7 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign float textHeight = dim.height - shadowStrokePaddingY; - if ( pInfo->shadowOffset.width < 0 ) + if ( info->shadowOffset.width < 0 ) { textOriginX = shadowStrokePaddingX; } @@ -275,7 +275,7 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign textOriginX = 0.0; } - if (pInfo->shadowOffset.height > 0) + if (info->shadowOffset.height > 0) { textOrigingY = startH; } @@ -289,7 +289,7 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign CGContextBeginTransparencyLayerWithRect(context, rect, nullptr); // actually draw the text in the context // XXX: ios7 casting - [str drawInRect: rect withFont:font lineBreakMode:NSLineBreakByWordWrapping alignment:(NSTextAlignment)align]; + [str drawInRect: rect withFont:font lineBreakMode:NSLineBreakByWordWrapping alignment:(NSTextAlignment)testAlign]; CGContextEndTransparencyLayer(context); @@ -300,10 +300,10 @@ static bool _initWithString(const char * pText, cocos2d::Image::TextAlign eAlign CGContextRelease(context); // output params - pInfo->data = data; - pInfo->isPremultipliedAlpha = true; - pInfo->width = dim.width; - pInfo->height = dim.height; + info->data = data; + info->isPremultipliedAlpha = true; + info->width = dim.width; + info->height = dim.height; bRet = true; } while (0); @@ -325,12 +325,12 @@ bool Image::initWithString( } bool Image::initWithStringShadowStroke( - const char * pText, - int nWidth , - int nHeight , - TextAlign eAlignMask , - const char * pFontName , - int nSize , + const char * text, + int width , + int height , + TextAlign alignMask , + const char * fontName , + int size , float textTintR, float textTintG, float textTintB, @@ -349,8 +349,8 @@ bool Image::initWithStringShadowStroke( tImageInfo info = {0}; - info.width = nWidth; - info.height = nHeight; + info.width = width; + info.height = height; info.hasShadow = shadow; info.shadowOffset.width = shadowOffsetX; info.shadowOffset.height = shadowOffsetY; @@ -366,7 +366,7 @@ bool Image::initWithStringShadowStroke( info.tintColorB = textTintB; - if (! _initWithString(pText, eAlignMask, pFontName, nSize, &info)) + if (! _initWithString(text, alignMask, fontName, size, &info)) { return false; } @@ -380,7 +380,7 @@ bool Image::initWithStringShadowStroke( return true; } -bool Image::saveToFile(const std::string& filename, bool bIsToRGB) +bool Image::saveToFile(const std::string& filename, bool isToRGB) { bool saveToPNG = false; bool needToCopyPixels = false; @@ -392,7 +392,7 @@ bool Image::saveToFile(const std::string& filename, bool bIsToRGB) int bitsPerComponent = 8; int bitsPerPixel = hasAlpha() ? 32 : 24; - if ((! saveToPNG) || bIsToRGB) + if ((! saveToPNG) || isToRGB) { bitsPerPixel = 24; } @@ -404,7 +404,7 @@ bool Image::saveToFile(const std::string& filename, bool bIsToRGB) // The data has alpha channel, and want to save it with an RGB png file, // or want to save as jpg, remove the alpha channel. - if ((saveToPNG && hasAlpha() && bIsToRGB) + if ((saveToPNG && hasAlpha() && isToRGB) || (! saveToPNG)) { pixels = new unsigned char[myDataLength]; @@ -424,7 +424,7 @@ bool Image::saveToFile(const std::string& filename, bool bIsToRGB) // make data provider with data. CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault; - if (saveToPNG && hasAlpha() && (! bIsToRGB)) + if (saveToPNG && hasAlpha() && (! isToRGB)) { bitmapInfo |= kCGImageAlphaPremultipliedLast; } diff --git a/cocos/2d/platform/mac/CCEGLView.h b/cocos/2d/platform/mac/CCEGLView.h index 518cb7d8d2..d58d70dc4b 100644 --- a/cocos/2d/platform/mac/CCEGLView.h +++ b/cocos/2d/platform/mac/CCEGLView.h @@ -53,7 +53,7 @@ public: /* *frameZoomFactor for frame. This method is for debugging big resolution (e.g.new ipad) app on desktop. */ - bool init(const char* viewName, float width, float height, float frameZoomFactor = 1.0f); + bool init(const std::string& viewName, float width, float height, float frameZoomFactor = 1.0f); public: //void resize(int width, int height); diff --git a/cocos/2d/platform/mac/CCEGLView.mm b/cocos/2d/platform/mac/CCEGLView.mm index 0f5ef6b2c8..335b513634 100644 --- a/cocos/2d/platform/mac/CCEGLView.mm +++ b/cocos/2d/platform/mac/CCEGLView.mm @@ -325,7 +325,7 @@ EGLView::~EGLView() s_pEglView = nullptr; } -bool EGLView::init(const char *viewName, float width, float height, float frameZoomFactor) +bool EGLView::init(const std::string& viewName, float width, float height, float frameZoomFactor) { if(nullptr != _mainWindow) return true; diff --git a/cocos/base/CCArray.cpp b/cocos/base/CCArray.cpp index 0bb3e2b2ed..8e827878a5 100644 --- a/cocos/base/CCArray.cpp +++ b/cocos/base/CCArray.cpp @@ -122,7 +122,7 @@ __Array* __Array::createWithCapacity(int capacity) return array; } -__Array* __Array::createWithContentsOfFile(const char* fileName) +__Array* __Array::createWithContentsOfFile(const std::string& fileName) { __Array* ret = __Array::createWithContentsOfFileThreadSafe(fileName); if (ret != nullptr) @@ -132,7 +132,7 @@ __Array* __Array::createWithContentsOfFile(const char* fileName) return ret; } -__Array* __Array::createWithContentsOfFileThreadSafe(const char* fileName) +__Array* __Array::createWithContentsOfFileThreadSafe(const std::string& fileName) { return FileUtils::getInstance()->createArrayWithContentsOfFile(fileName); } @@ -465,7 +465,7 @@ __Array* __Array::createWithCapacity(ssize_t capacity) return array; } -__Array* __Array::createWithContentsOfFile(const char* fileName) +__Array* __Array::createWithContentsOfFile(const std::string& fileName) { __Array* ret = __Array::createWithContentsOfFileThreadSafe(fileName); if (ret != nullptr) @@ -475,7 +475,7 @@ __Array* __Array::createWithContentsOfFile(const char* fileName) return ret; } -__Array* __Array::createWithContentsOfFileThreadSafe(const char* fileName) +__Array* __Array::createWithContentsOfFileThreadSafe(const std::string& fileName) { ValueVector arr = FileUtils::getInstance()->getValueVectorFromFile(fileName); diff --git a/cocos/base/CCArray.h b/cocos/base/CCArray.h index 17166d7588..8b40329a26 100644 --- a/cocos/base/CCArray.h +++ b/cocos/base/CCArray.h @@ -261,7 +261,7 @@ public: @return The Array pointer generated from the file * @js NA */ - static __Array* createWithContentsOfFile(const char* pFileName); + static __Array* createWithContentsOfFile(const std::string& pFileName); /* @brief The same meaning as arrayWithContentsOfFile(), but it doesn't call autorelease, so the @@ -269,7 +269,7 @@ public: * @js NA * @lua NA */ - static __Array* createWithContentsOfFileThreadSafe(const char* pFileName); + static __Array* createWithContentsOfFileThreadSafe(const std::string& pFileName); /** * @js NA * @lua NA