mirror of https://github.com/axmolengine/axmol.git
Merge branch 'develop' into develop_nutty_modify_framework_newrender
This commit is contained in:
commit
570b6c95a7
|
@ -2053,7 +2053,7 @@ void Animate::startWithTarget(Node *target)
|
|||
|
||||
if (_animation->getRestoreOriginalFrame())
|
||||
{
|
||||
_origFrame = sprite->getDisplayFrame();
|
||||
_origFrame = sprite->getSpriteFrame();
|
||||
_origFrame->retain();
|
||||
}
|
||||
_nextFrame = 0;
|
||||
|
@ -2064,7 +2064,7 @@ void Animate::stop(void)
|
|||
{
|
||||
if (_animation->getRestoreOriginalFrame() && _target)
|
||||
{
|
||||
static_cast<Sprite*>(_target)->setDisplayFrame(_origFrame);
|
||||
static_cast<Sprite*>(_target)->setSpriteFrame(_origFrame);
|
||||
}
|
||||
|
||||
ActionInterval::stop();
|
||||
|
@ -2097,7 +2097,7 @@ void Animate::update(float t)
|
|||
if( splitTime <= t ) {
|
||||
AnimationFrame* frame = frames.at(i);
|
||||
frameToDisplay = frame->getSpriteFrame();
|
||||
static_cast<Sprite*>(_target)->setDisplayFrame(frameToDisplay);
|
||||
static_cast<Sprite*>(_target)->setSpriteFrame(frameToDisplay);
|
||||
|
||||
const ValueMap& dict = frame->getUserInfo();
|
||||
if ( !dict.empty() )
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -1038,7 +1038,7 @@ CC_DEPRECATED_ATTRIBUTE typedef __Integer CCInteger;
|
|||
CC_DEPRECATED_ATTRIBUTE typedef __Bool Bool;
|
||||
CC_DEPRECATED_ATTRIBUTE typedef __Bool CCBool;
|
||||
CC_DEPRECATED_ATTRIBUTE typedef __String CCString;
|
||||
//CC_DEPRECATED_ATTRIBUTE typedef __String String;
|
||||
CC_DEPRECATED_ATTRIBUTE typedef __String String;
|
||||
|
||||
CC_DEPRECATED_ATTRIBUTE typedef __RGBAProtocol RGBAProtocol;
|
||||
CC_DEPRECATED_ATTRIBUTE typedef __NodeRGBA NodeRGBA;
|
||||
|
|
|
@ -30,7 +30,7 @@ NS_CC_BEGIN
|
|||
|
||||
std::unordered_map<std::string, FontAtlas *> 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);
|
||||
|
||||
|
|
|
@ -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<std::string, FontAtlas *> _atlasMap;
|
||||
};
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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:
|
||||
};
|
||||
|
|
|
@ -154,18 +154,18 @@ bool GLProgram::initWithVertexShaderByteArray(const GLchar* vShaderByteArray, co
|
|||
|
||||
bool GLProgram::initWithVertexShaderFilename(const char* vShaderFilename, const char* fShaderFilename)
|
||||
{
|
||||
const GLchar * vertexSource = (GLchar*) String::createWithContentsOfFile(FileUtils::getInstance()->fullPathForFilename(vShaderFilename).c_str())->getCString();
|
||||
const GLchar * fragmentSource = (GLchar*) String::createWithContentsOfFile(FileUtils::getInstance()->fullPathForFilename(fShaderFilename).c_str())->getCString();
|
||||
std::string vertexSource = FileUtils::getInstance()->getStringFromFile(FileUtils::getInstance()->fullPathForFilename(vShaderFilename).c_str());
|
||||
std::string fragmentSource = FileUtils::getInstance()->getStringFromFile(FileUtils::getInstance()->fullPathForFilename(fShaderFilename).c_str());
|
||||
|
||||
return initWithVertexShaderByteArray(vertexSource, fragmentSource);
|
||||
return initWithVertexShaderByteArray(vertexSource.c_str(), fragmentSource.c_str());
|
||||
}
|
||||
|
||||
std::string GLProgram::getDescription() const
|
||||
{
|
||||
return String::createWithFormat("<GLProgram = "
|
||||
return StringUtils::format("<GLProgram = "
|
||||
CC_FORMAT_PRINTF_SIZE_T
|
||||
" | Program = %i, VertexShader = %i, FragmentShader = %i>",
|
||||
(size_t)this, _program, _vertShader, _fragShader)->getCString();
|
||||
(size_t)this, _program, _vertShader, _fragShader);
|
||||
}
|
||||
|
||||
bool GLProgram::compileShader(GLuint * shader, GLenum type, const GLchar* source)
|
||||
|
|
|
@ -25,9 +25,11 @@ THE SOFTWARE.
|
|||
#ifndef __CC_IME_DELEGATE_H__
|
||||
#define __CC_IME_DELEGATE_H__
|
||||
|
||||
#include <string>
|
||||
#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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -77,7 +77,7 @@ public:
|
|||
* @js NA
|
||||
* @lua NA
|
||||
*/
|
||||
const char * getContentText();
|
||||
const std::string& getContentText();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// dispatch keyboard notification
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<int>(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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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; };
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -673,7 +673,7 @@ bool Texture2D::initWithMipmaps(MipmapInfo* mipmaps, int mipmapsNum, PixelFormat
|
|||
|
||||
std::string Texture2D::getDescription() const
|
||||
{
|
||||
return String::createWithFormat("<Texture2D | Name = %u | Dimensions = %ld x %ld | Coordinates = (%.2f, %.2f)>", _name, (long)_pixelsWide, (long)_pixelsHigh, _maxS, _maxT)->getCString();
|
||||
return StringUtils::format("<Texture2D | Name = %u | Dimensions = %ld x %ld | Coordinates = (%.2f, %.2f)>", _name, (long)_pixelsWide, (long)_pixelsHigh, _maxS, _maxT);
|
||||
}
|
||||
|
||||
// implementation Texture2D (Image)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -224,7 +224,7 @@ void TextureAtlas::listenBackToForeground(Object *obj)
|
|||
|
||||
std::string TextureAtlas::getDescription() const
|
||||
{
|
||||
return String::createWithFormat("<TextureAtlas | totalQuads = %zd>", _totalQuads)->getCString();
|
||||
return StringUtils::format("<TextureAtlas | totalQuads = %zd>", _totalQuads);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -89,7 +89,7 @@ void TextureCache::purgeSharedTextureCache()
|
|||
|
||||
std::string TextureCache::getDescription() const
|
||||
{
|
||||
return String::createWithFormat("<TextureCache | Number of textures = %lu>", _textures.size() )->getCString();
|
||||
return StringUtils::format("<TextureCache | Number of textures = %lu>", _textures.size());
|
||||
}
|
||||
|
||||
void TextureCache::addImageAsync(const std::string &path, Object *target, SEL_CallFuncO selector)
|
||||
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "ccTypes.h"
|
||||
|
||||
NS_CC_BEGIN
|
||||
const std::string STD_STRING_EMPTY("");
|
||||
|
||||
/**
|
||||
* Color3B
|
||||
|
|
|
@ -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__
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -205,7 +205,7 @@ public: virtual void set##funName(varType var) \
|
|||
#define CC_BREAK_IF(cond) if(cond) break
|
||||
|
||||
#define __CCLOGWITHFUNCTION(s, ...) \
|
||||
log("%s : %s",__FUNCTION__, String::createWithFormat(s, ##__VA_ARGS__)->getCString())
|
||||
log("%s : %s",__FUNCTION__, StringUtils::format(s, ##__VA_ARGS__).c_str())
|
||||
|
||||
// cocos2d debug
|
||||
#if !defined(COCOS2D_DEBUG) || COCOS2D_DEBUG == 0
|
||||
|
|
|
@ -239,9 +239,6 @@ public:
|
|||
|
||||
};
|
||||
|
||||
|
||||
CC_DEPRECATED_ATTRIBUTE typedef __String String;
|
||||
|
||||
// end of data_structure group
|
||||
/// @}
|
||||
|
||||
|
|
|
@ -40,25 +40,25 @@ using std::max;
|
|||
|
||||
namespace spine {
|
||||
|
||||
CCSkeleton* CCSkeleton::createWithData (spSkeletonData* skeletonData, bool isOwnsSkeletonData) {
|
||||
CCSkeleton* node = new CCSkeleton(skeletonData, isOwnsSkeletonData);
|
||||
Skeleton* Skeleton::createWithData (spSkeletonData* skeletonData, bool isOwnsSkeletonData) {
|
||||
Skeleton* node = new Skeleton(skeletonData, isOwnsSkeletonData);
|
||||
node->autorelease();
|
||||
return node;
|
||||
}
|
||||
|
||||
CCSkeleton* CCSkeleton::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) {
|
||||
CCSkeleton* node = new CCSkeleton(skeletonDataFile, atlas, scale);
|
||||
Skeleton* Skeleton::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) {
|
||||
Skeleton* node = new Skeleton(skeletonDataFile, atlas, scale);
|
||||
node->autorelease();
|
||||
return node;
|
||||
}
|
||||
|
||||
CCSkeleton* CCSkeleton::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) {
|
||||
CCSkeleton* node = new CCSkeleton(skeletonDataFile, atlasFile, scale);
|
||||
Skeleton* Skeleton::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) {
|
||||
Skeleton* node = new Skeleton(skeletonDataFile, atlasFile, scale);
|
||||
node->autorelease();
|
||||
return node;
|
||||
}
|
||||
|
||||
void CCSkeleton::initialize () {
|
||||
void Skeleton::initialize () {
|
||||
atlas = 0;
|
||||
debugSlots = false;
|
||||
debugBones = false;
|
||||
|
@ -73,23 +73,23 @@ void CCSkeleton::initialize () {
|
|||
scheduleUpdate();
|
||||
}
|
||||
|
||||
void CCSkeleton::setSkeletonData (spSkeletonData *skeletonData, bool isOwnsSkeletonData) {
|
||||
void Skeleton::setSkeletonData (spSkeletonData *skeletonData, bool isOwnsSkeletonData) {
|
||||
skeleton = spSkeleton_create(skeletonData);
|
||||
rootBone = skeleton->bones[0];
|
||||
this->ownsSkeletonData = isOwnsSkeletonData;
|
||||
}
|
||||
|
||||
CCSkeleton::CCSkeleton () {
|
||||
Skeleton::Skeleton () {
|
||||
initialize();
|
||||
}
|
||||
|
||||
CCSkeleton::CCSkeleton (spSkeletonData *skeletonData, bool isOwnsSkeletonData) {
|
||||
Skeleton::Skeleton (spSkeletonData *skeletonData, bool isOwnsSkeletonData) {
|
||||
initialize();
|
||||
|
||||
setSkeletonData(skeletonData, isOwnsSkeletonData);
|
||||
}
|
||||
|
||||
CCSkeleton::CCSkeleton (const char* skeletonDataFile, spAtlas* aAtlas, float scale) {
|
||||
Skeleton::Skeleton (const char* skeletonDataFile, spAtlas* aAtlas, float scale) {
|
||||
initialize();
|
||||
|
||||
spSkeletonJson* json = spSkeletonJson_create(aAtlas);
|
||||
|
@ -101,7 +101,7 @@ CCSkeleton::CCSkeleton (const char* skeletonDataFile, spAtlas* aAtlas, float sca
|
|||
setSkeletonData(skeletonData, true);
|
||||
}
|
||||
|
||||
CCSkeleton::CCSkeleton (const char* skeletonDataFile, const char* atlasFile, float scale) {
|
||||
Skeleton::Skeleton (const char* skeletonDataFile, const char* atlasFile, float scale) {
|
||||
initialize();
|
||||
|
||||
atlas = spAtlas_readAtlasFile(atlasFile);
|
||||
|
@ -116,17 +116,17 @@ CCSkeleton::CCSkeleton (const char* skeletonDataFile, const char* atlasFile, flo
|
|||
setSkeletonData(skeletonData, true);
|
||||
}
|
||||
|
||||
CCSkeleton::~CCSkeleton () {
|
||||
Skeleton::~Skeleton () {
|
||||
if (ownsSkeletonData) spSkeletonData_dispose(skeleton->data);
|
||||
if (atlas) spAtlas_dispose(atlas);
|
||||
spSkeleton_dispose(skeleton);
|
||||
}
|
||||
|
||||
void CCSkeleton::update (float deltaTime) {
|
||||
void Skeleton::update (float deltaTime) {
|
||||
spSkeleton_update(skeleton, deltaTime * timeScale);
|
||||
}
|
||||
|
||||
void CCSkeleton::draw () {
|
||||
void Skeleton::draw () {
|
||||
CC_NODE_DRAW_SETUP();
|
||||
|
||||
GL::blendFunc(blendFunc.src, blendFunc.dst);
|
||||
|
@ -168,7 +168,7 @@ void CCSkeleton::draw () {
|
|||
textureAtlas = regionTextureAtlas;
|
||||
setFittedBlendingFunc(textureAtlas);
|
||||
|
||||
int quadCount = textureAtlas->getTotalQuads();
|
||||
ssize_t quadCount = textureAtlas->getTotalQuads();
|
||||
if (textureAtlas->getCapacity() == quadCount) {
|
||||
textureAtlas->drawQuads();
|
||||
textureAtlas->removeAllQuads();
|
||||
|
@ -222,11 +222,11 @@ void CCSkeleton::draw () {
|
|||
}
|
||||
}
|
||||
|
||||
TextureAtlas* CCSkeleton::getTextureAtlas (spRegionAttachment* regionAttachment) const {
|
||||
TextureAtlas* Skeleton::getTextureAtlas (spRegionAttachment* regionAttachment) const {
|
||||
return (TextureAtlas*)((spAtlasRegion*)regionAttachment->rendererObject)->page->rendererObject;
|
||||
}
|
||||
|
||||
Rect CCSkeleton::getBoundingBox () const {
|
||||
Rect Skeleton::getBoundingBox () const {
|
||||
float minX = FLT_MAX, minY = FLT_MAX, maxX = FLT_MIN, maxY = FLT_MIN;
|
||||
float scaleX = getScaleX();
|
||||
float scaleY = getScaleY();
|
||||
|
@ -259,50 +259,50 @@ Rect CCSkeleton::getBoundingBox () const {
|
|||
|
||||
// --- Convenience methods for Skeleton_* functions.
|
||||
|
||||
void CCSkeleton::updateWorldTransform () {
|
||||
void Skeleton::updateWorldTransform () {
|
||||
spSkeleton_updateWorldTransform(skeleton);
|
||||
}
|
||||
|
||||
void CCSkeleton::setToSetupPose () {
|
||||
void Skeleton::setToSetupPose () {
|
||||
spSkeleton_setToSetupPose(skeleton);
|
||||
}
|
||||
void CCSkeleton::setBonesToSetupPose () {
|
||||
void Skeleton::setBonesToSetupPose () {
|
||||
spSkeleton_setBonesToSetupPose(skeleton);
|
||||
}
|
||||
void CCSkeleton::setSlotsToSetupPose () {
|
||||
void Skeleton::setSlotsToSetupPose () {
|
||||
spSkeleton_setSlotsToSetupPose(skeleton);
|
||||
}
|
||||
|
||||
spBone* CCSkeleton::findBone (const char* boneName) const {
|
||||
spBone* Skeleton::findBone (const char* boneName) const {
|
||||
return spSkeleton_findBone(skeleton, boneName);
|
||||
}
|
||||
|
||||
spSlot* CCSkeleton::findSlot (const char* slotName) const {
|
||||
spSlot* Skeleton::findSlot (const char* slotName) const {
|
||||
return spSkeleton_findSlot(skeleton, slotName);
|
||||
}
|
||||
|
||||
bool CCSkeleton::setSkin (const char* skinName) {
|
||||
bool Skeleton::setSkin (const char* skinName) {
|
||||
return spSkeleton_setSkinByName(skeleton, skinName) ? true : false;
|
||||
}
|
||||
|
||||
spAttachment* CCSkeleton::getAttachment (const char* slotName, const char* attachmentName) const {
|
||||
spAttachment* Skeleton::getAttachment (const char* slotName, const char* attachmentName) const {
|
||||
return spSkeleton_getAttachmentForSlotName(skeleton, slotName, attachmentName);
|
||||
}
|
||||
bool CCSkeleton::setAttachment (const char* slotName, const char* attachmentName) {
|
||||
bool Skeleton::setAttachment (const char* slotName, const char* attachmentName) {
|
||||
return spSkeleton_setAttachment(skeleton, slotName, attachmentName) ? true : false;
|
||||
}
|
||||
|
||||
// --- CCBlendProtocol
|
||||
|
||||
const cocos2d::BlendFunc& CCSkeleton::getBlendFunc () const {
|
||||
const cocos2d::BlendFunc& Skeleton::getBlendFunc () const {
|
||||
return blendFunc;
|
||||
}
|
||||
|
||||
void CCSkeleton::setBlendFunc (const cocos2d::BlendFunc& aBlendFunc) {
|
||||
void Skeleton::setBlendFunc (const cocos2d::BlendFunc& aBlendFunc) {
|
||||
this->blendFunc = aBlendFunc;
|
||||
}
|
||||
|
||||
void CCSkeleton::setFittedBlendingFunc(cocos2d::TextureAtlas * nextRenderedTexture)
|
||||
void Skeleton::setFittedBlendingFunc(cocos2d::TextureAtlas * nextRenderedTexture)
|
||||
{
|
||||
if(nextRenderedTexture->getTexture() && nextRenderedTexture->getTexture()->hasPremultipliedAlpha())
|
||||
{
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace spine {
|
|||
/**
|
||||
Draws a skeleton.
|
||||
*/
|
||||
class CCSkeleton: public cocos2d::Node, public cocos2d::BlendProtocol {
|
||||
class Skeleton: public cocos2d::Node, public cocos2d::BlendProtocol {
|
||||
public:
|
||||
spSkeleton* skeleton;
|
||||
spBone* rootBone;
|
||||
|
@ -52,15 +52,15 @@ public:
|
|||
bool premultipliedAlpha;
|
||||
cocos2d::BlendFunc blendFunc;
|
||||
|
||||
static CCSkeleton* createWithData (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
|
||||
static CCSkeleton* createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale = 0);
|
||||
static CCSkeleton* createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale = 0);
|
||||
static Skeleton* createWithData (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
|
||||
static Skeleton* createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale = 0);
|
||||
static Skeleton* createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale = 0);
|
||||
|
||||
CCSkeleton (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
|
||||
CCSkeleton (const char* skeletonDataFile, spAtlas* atlas, float scale = 0);
|
||||
CCSkeleton (const char* skeletonDataFile, const char* atlasFile, float scale = 0);
|
||||
Skeleton (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
|
||||
Skeleton (const char* skeletonDataFile, spAtlas* atlas, float scale = 0);
|
||||
Skeleton (const char* skeletonDataFile, const char* atlasFile, float scale = 0);
|
||||
|
||||
virtual ~CCSkeleton ();
|
||||
virtual ~Skeleton ();
|
||||
|
||||
virtual void update (float deltaTime) override;
|
||||
virtual void draw() override;
|
||||
|
@ -93,7 +93,7 @@ public:
|
|||
virtual void setBlendFunc(const cocos2d::BlendFunc& func) override;
|
||||
|
||||
protected:
|
||||
CCSkeleton ();
|
||||
Skeleton ();
|
||||
void setSkeletonData (spSkeletonData* skeletonData, bool ownsSkeletonData);
|
||||
virtual cocos2d::TextureAtlas* getTextureAtlas (spRegionAttachment* regionAttachment) const;
|
||||
|
||||
|
|
|
@ -43,28 +43,28 @@ using std::vector;
|
|||
namespace spine {
|
||||
|
||||
static void callback (spAnimationState* state, int trackIndex, spEventType type, spEvent* event, int loopCount) {
|
||||
((CCSkeletonAnimation*)state->context)->onAnimationStateEvent(trackIndex, type, event, loopCount);
|
||||
((SkeletonAnimation*)state->context)->onAnimationStateEvent(trackIndex, type, event, loopCount);
|
||||
}
|
||||
|
||||
CCSkeletonAnimation* CCSkeletonAnimation::createWithData (spSkeletonData* skeletonData) {
|
||||
CCSkeletonAnimation* node = new CCSkeletonAnimation(skeletonData);
|
||||
SkeletonAnimation* SkeletonAnimation::createWithData (spSkeletonData* skeletonData) {
|
||||
SkeletonAnimation* node = new SkeletonAnimation(skeletonData);
|
||||
node->autorelease();
|
||||
return node;
|
||||
}
|
||||
|
||||
CCSkeletonAnimation* CCSkeletonAnimation::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) {
|
||||
CCSkeletonAnimation* node = new CCSkeletonAnimation(skeletonDataFile, atlas, scale);
|
||||
SkeletonAnimation* SkeletonAnimation::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) {
|
||||
SkeletonAnimation* node = new SkeletonAnimation(skeletonDataFile, atlas, scale);
|
||||
node->autorelease();
|
||||
return node;
|
||||
}
|
||||
|
||||
CCSkeletonAnimation* CCSkeletonAnimation::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) {
|
||||
CCSkeletonAnimation* node = new CCSkeletonAnimation(skeletonDataFile, atlasFile, scale);
|
||||
SkeletonAnimation* SkeletonAnimation::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) {
|
||||
SkeletonAnimation* node = new SkeletonAnimation(skeletonDataFile, atlasFile, scale);
|
||||
node->autorelease();
|
||||
return node;
|
||||
}
|
||||
|
||||
void CCSkeletonAnimation::initialize () {
|
||||
void SkeletonAnimation::initialize () {
|
||||
listenerInstance = 0;
|
||||
listenerMethod = 0;
|
||||
|
||||
|
@ -74,27 +74,27 @@ void CCSkeletonAnimation::initialize () {
|
|||
state->listener = callback;
|
||||
}
|
||||
|
||||
CCSkeletonAnimation::CCSkeletonAnimation (spSkeletonData *skeletonData)
|
||||
: CCSkeleton(skeletonData) {
|
||||
SkeletonAnimation::SkeletonAnimation (spSkeletonData *skeletonData)
|
||||
: Skeleton(skeletonData) {
|
||||
initialize();
|
||||
}
|
||||
|
||||
CCSkeletonAnimation::CCSkeletonAnimation (const char* skeletonDataFile, spAtlas* atlas, float scale)
|
||||
: CCSkeleton(skeletonDataFile, atlas, scale) {
|
||||
SkeletonAnimation::SkeletonAnimation (const char* skeletonDataFile, spAtlas* atlas, float scale)
|
||||
: Skeleton(skeletonDataFile, atlas, scale) {
|
||||
initialize();
|
||||
}
|
||||
|
||||
CCSkeletonAnimation::CCSkeletonAnimation (const char* skeletonDataFile, const char* atlasFile, float scale)
|
||||
: CCSkeleton(skeletonDataFile, atlasFile, scale) {
|
||||
SkeletonAnimation::SkeletonAnimation (const char* skeletonDataFile, const char* atlasFile, float scale)
|
||||
: Skeleton(skeletonDataFile, atlasFile, scale) {
|
||||
initialize();
|
||||
}
|
||||
|
||||
CCSkeletonAnimation::~CCSkeletonAnimation () {
|
||||
SkeletonAnimation::~SkeletonAnimation () {
|
||||
if (ownsAnimationStateData) spAnimationStateData_dispose(state->data);
|
||||
spAnimationState_dispose(state);
|
||||
}
|
||||
|
||||
void CCSkeletonAnimation::update (float deltaTime) {
|
||||
void SkeletonAnimation::update (float deltaTime) {
|
||||
super::update(deltaTime);
|
||||
|
||||
deltaTime *= timeScale;
|
||||
|
@ -103,7 +103,7 @@ void CCSkeletonAnimation::update (float deltaTime) {
|
|||
spSkeleton_updateWorldTransform(skeleton);
|
||||
}
|
||||
|
||||
void CCSkeletonAnimation::setAnimationStateData (spAnimationStateData* stateData) {
|
||||
void SkeletonAnimation::setAnimationStateData (spAnimationStateData* stateData) {
|
||||
CCAssert(stateData, "stateData cannot be null.");
|
||||
|
||||
if (ownsAnimationStateData) spAnimationStateData_dispose(state->data);
|
||||
|
@ -115,46 +115,46 @@ void CCSkeletonAnimation::setAnimationStateData (spAnimationStateData* stateData
|
|||
state->listener = callback;
|
||||
}
|
||||
|
||||
void CCSkeletonAnimation::setMix (const char* fromAnimation, const char* toAnimation, float duration) {
|
||||
void SkeletonAnimation::setMix (const char* fromAnimation, const char* toAnimation, float duration) {
|
||||
spAnimationStateData_setMixByName(state->data, fromAnimation, toAnimation, duration);
|
||||
}
|
||||
|
||||
void CCSkeletonAnimation::setAnimationListener (Object* instance, SEL_AnimationStateEvent method) {
|
||||
void SkeletonAnimation::setAnimationListener (Object* instance, SEL_AnimationStateEvent method) {
|
||||
listenerInstance = instance;
|
||||
listenerMethod = method;
|
||||
}
|
||||
|
||||
spTrackEntry* CCSkeletonAnimation::setAnimation (int trackIndex, const char* name, bool loop) {
|
||||
spTrackEntry* SkeletonAnimation::setAnimation (int trackIndex, const char* name, bool loop) {
|
||||
spAnimation* animation = spSkeletonData_findAnimation(skeleton->data, name);
|
||||
if (!animation) {
|
||||
CCLog("Spine: Animation not found: %s", name);
|
||||
log("Spine: Animation not found: %s", name);
|
||||
return 0;
|
||||
}
|
||||
return spAnimationState_setAnimation(state, trackIndex, animation, loop);
|
||||
}
|
||||
|
||||
spTrackEntry* CCSkeletonAnimation::addAnimation (int trackIndex, const char* name, bool loop, float delay) {
|
||||
spTrackEntry* SkeletonAnimation::addAnimation (int trackIndex, const char* name, bool loop, float delay) {
|
||||
spAnimation* animation = spSkeletonData_findAnimation(skeleton->data, name);
|
||||
if (!animation) {
|
||||
CCLog("Spine: Animation not found: %s", name);
|
||||
log("Spine: Animation not found: %s", name);
|
||||
return 0;
|
||||
}
|
||||
return spAnimationState_addAnimation(state, trackIndex, animation, loop, delay);
|
||||
}
|
||||
|
||||
spTrackEntry* CCSkeletonAnimation::getCurrent (int trackIndex) {
|
||||
spTrackEntry* SkeletonAnimation::getCurrent (int trackIndex) {
|
||||
return spAnimationState_getCurrent(state, trackIndex);
|
||||
}
|
||||
|
||||
void CCSkeletonAnimation::clearTracks () {
|
||||
void SkeletonAnimation::clearTracks () {
|
||||
spAnimationState_clearTracks(state);
|
||||
}
|
||||
|
||||
void CCSkeletonAnimation::clearTrack (int trackIndex) {
|
||||
void SkeletonAnimation::clearTrack (int trackIndex) {
|
||||
spAnimationState_clearTrack(state, trackIndex);
|
||||
}
|
||||
|
||||
void CCSkeletonAnimation::onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount) {
|
||||
void SkeletonAnimation::onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount) {
|
||||
if (listenerInstance) (listenerInstance->*listenerMethod)(this, trackIndex, type, event, loopCount);
|
||||
}
|
||||
|
||||
|
|
|
@ -40,25 +40,25 @@
|
|||
|
||||
namespace spine {
|
||||
|
||||
class CCSkeletonAnimation;
|
||||
typedef void (cocos2d::Object::*SEL_AnimationStateEvent)(spine::CCSkeletonAnimation* node, int trackIndex, spEventType type, spEvent* event, int loopCount);
|
||||
class SkeletonAnimation;
|
||||
typedef void (cocos2d::Object::*SEL_AnimationStateEvent)(spine::SkeletonAnimation* node, int trackIndex, spEventType type, spEvent* event, int loopCount);
|
||||
#define animationStateEvent_selector(_SELECTOR) (SEL_AnimationStateEvent)(&_SELECTOR)
|
||||
|
||||
/** Draws an animated skeleton, providing an AnimationState for applying one or more animations and queuing animations to be
|
||||
* played later. */
|
||||
class CCSkeletonAnimation: public CCSkeleton {
|
||||
class SkeletonAnimation: public Skeleton {
|
||||
public:
|
||||
spAnimationState* state;
|
||||
|
||||
static CCSkeletonAnimation* createWithData (spSkeletonData* skeletonData);
|
||||
static CCSkeletonAnimation* createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale = 0);
|
||||
static CCSkeletonAnimation* createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale = 0);
|
||||
static SkeletonAnimation* createWithData (spSkeletonData* skeletonData);
|
||||
static SkeletonAnimation* createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale = 0);
|
||||
static SkeletonAnimation* createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale = 0);
|
||||
|
||||
CCSkeletonAnimation (spSkeletonData* skeletonData);
|
||||
CCSkeletonAnimation (const char* skeletonDataFile, spAtlas* atlas, float scale = 0);
|
||||
CCSkeletonAnimation (const char* skeletonDataFile, const char* atlasFile, float scale = 0);
|
||||
SkeletonAnimation (spSkeletonData* skeletonData);
|
||||
SkeletonAnimation (const char* skeletonDataFile, spAtlas* atlas, float scale = 0);
|
||||
SkeletonAnimation (const char* skeletonDataFile, const char* atlasFile, float scale = 0);
|
||||
|
||||
virtual ~CCSkeletonAnimation ();
|
||||
virtual ~SkeletonAnimation ();
|
||||
|
||||
virtual void update (float deltaTime);
|
||||
|
||||
|
@ -75,10 +75,10 @@ public:
|
|||
virtual void onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount);
|
||||
|
||||
protected:
|
||||
CCSkeletonAnimation ();
|
||||
SkeletonAnimation ();
|
||||
|
||||
private:
|
||||
typedef CCSkeleton super;
|
||||
typedef Skeleton super;
|
||||
cocos2d::Object* listenerInstance;
|
||||
SEL_AnimationStateEvent listenerMethod;
|
||||
bool ownsAnimationStateData;
|
||||
|
|
|
@ -65,7 +65,7 @@ void spSkeletonJson_dispose (spSkeletonJson* self) {
|
|||
|
||||
void _spSkeletonJson_setError (spSkeletonJson* self, Json* root, const char* value1, const char* value2) {
|
||||
char message[256];
|
||||
int length;
|
||||
size_t length = 0;
|
||||
FREE(self->error);
|
||||
strcpy(message, value1);
|
||||
length = strlen(value1);
|
||||
|
|
|
@ -62,7 +62,7 @@ char* _readFile (const char* path, int* length) {
|
|||
if (!file) return 0;
|
||||
|
||||
fseek(file, 0, SEEK_END);
|
||||
*length = ftell(file);
|
||||
*length = (int)ftell(file);
|
||||
fseek(file, 0, SEEK_SET);
|
||||
|
||||
data = MALLOC(char, *length);
|
||||
|
|
|
@ -39,6 +39,6 @@
|
|||
#include <spine/CCSkeleton.h>
|
||||
#include <spine/CCSkeletonAnimation.h>
|
||||
|
||||
void spRegionAttachment_updateQuad (spRegionAttachment* self, spSlot* slot, cocos2d::ccV3F_C4B_T2F_Quad* quad, bool premultiplied = false);
|
||||
void spRegionAttachment_updateQuad (spRegionAttachment* self, spSlot* slot, cocos2d::V3F_C4B_T2F_Quad* quad, bool premultiplied = false);
|
||||
|
||||
#endif /* SPINE_COCOS2DX_H_ */
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 46d0b761304efa3f22b768aaa61577a99a82c02d
|
||||
Subproject commit 2f60892e1053a2e7dabfbab9da1058063475eb97
|
|
@ -2,6 +2,10 @@
|
|||
#include "../testResource.h"
|
||||
#include "cocos2d.h"
|
||||
|
||||
#include "renderer/CCRenderer.h"
|
||||
#include "renderer/CCCustomCommand.h"
|
||||
#include "renderer/CCGroupCommand.h"
|
||||
|
||||
static std::function<Layer*()> createFunctions[] = {
|
||||
|
||||
CL(ActionManual),
|
||||
|
@ -1284,6 +1288,15 @@ void ActionFollow::onEnter()
|
|||
}
|
||||
|
||||
void ActionFollow::draw()
|
||||
{
|
||||
CustomCommand* cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(ActionFollow::onDraw, this);
|
||||
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
void ActionFollow::onDraw()
|
||||
{
|
||||
auto winSize = Director::getInstance()->getWinSize();
|
||||
|
||||
|
@ -1589,10 +1602,25 @@ void ActionCatmullRomStacked::draw()
|
|||
// move to 50,50 since the "by" path will start at 50,50
|
||||
kmGLPushMatrix();
|
||||
kmGLTranslatef(50, 50, 0);
|
||||
DrawPrimitives::drawCatmullRom(_array1,50);
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &_modelViewMV1);
|
||||
kmGLPopMatrix();
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &_modelViewMV2);
|
||||
|
||||
CustomCommand* cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(ActionCatmullRomStacked::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
void ActionCatmullRomStacked::onDraw()
|
||||
{
|
||||
kmMat4 oldMat;
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &oldMat);
|
||||
kmGLLoadMatrix(&_modelViewMV1);
|
||||
DrawPrimitives::drawCatmullRom(_array1,50);
|
||||
kmGLLoadMatrix(&_modelViewMV2);
|
||||
DrawPrimitives::drawCatmullRom(_array2,50);
|
||||
kmGLLoadMatrix(&oldMat);
|
||||
}
|
||||
|
||||
std::string ActionCatmullRomStacked::title() const
|
||||
|
@ -1684,15 +1712,31 @@ void ActionCardinalSplineStacked::draw()
|
|||
// move to 50,50 since the "by" path will start at 50,50
|
||||
kmGLPushMatrix();
|
||||
kmGLTranslatef(50, 50, 0);
|
||||
DrawPrimitives::drawCardinalSpline(_array, 0, 100);
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &_modelViewMV1);
|
||||
kmGLPopMatrix();
|
||||
|
||||
auto s = Director::getInstance()->getWinSize();
|
||||
|
||||
kmGLPushMatrix();
|
||||
kmGLTranslatef(s.width/2, 50, 0);
|
||||
DrawPrimitives::drawCardinalSpline(_array, 1, 100);
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &_modelViewMV2);
|
||||
kmGLPopMatrix();
|
||||
|
||||
CustomCommand* cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(ActionCardinalSplineStacked::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
void ActionCardinalSplineStacked::onDraw()
|
||||
{
|
||||
kmMat4 oldMat;
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &oldMat);
|
||||
kmGLLoadMatrix(&_modelViewMV1);
|
||||
DrawPrimitives::drawCardinalSpline(_array, 0, 100);
|
||||
kmGLLoadMatrix(&_modelViewMV2);
|
||||
DrawPrimitives::drawCardinalSpline(_array, 1, 100);
|
||||
kmGLLoadMatrix(&oldMat);
|
||||
}
|
||||
|
||||
std::string ActionCardinalSplineStacked::title() const
|
||||
|
@ -2036,12 +2080,30 @@ void ActionCatmullRom::draw()
|
|||
// move to 50,50 since the "by" path will start at 50,50
|
||||
kmGLPushMatrix();
|
||||
kmGLTranslatef(50, 50, 0);
|
||||
DrawPrimitives::drawCatmullRom(_array1, 50);
|
||||
kmGLPopMatrix();
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &_modelViewMV1);
|
||||
|
||||
DrawPrimitives::drawCatmullRom(_array2,50);
|
||||
kmGLPopMatrix();
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &_modelViewMV2);
|
||||
|
||||
CustomCommand* cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(ActionCatmullRom::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
|
||||
void ActionCatmullRom::onDraw()
|
||||
{
|
||||
kmMat4 oldMat;
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &oldMat);
|
||||
kmGLLoadMatrix(&_modelViewMV1);
|
||||
DrawPrimitives::drawCatmullRom(_array1, 50);
|
||||
kmGLLoadMatrix(&_modelViewMV2);
|
||||
DrawPrimitives::drawCatmullRom(_array2,50);
|
||||
kmGLLoadMatrix(&oldMat);
|
||||
}
|
||||
|
||||
|
||||
std::string ActionCatmullRom::title() const
|
||||
{
|
||||
return "CatmullRomBy / CatmullRomTo";
|
||||
|
@ -2114,15 +2176,31 @@ void ActionCardinalSpline::draw()
|
|||
// move to 50,50 since the "by" path will start at 50,50
|
||||
kmGLPushMatrix();
|
||||
kmGLTranslatef(50, 50, 0);
|
||||
DrawPrimitives::drawCardinalSpline(_array, 0, 100);
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &_modelViewMV1);
|
||||
kmGLPopMatrix();
|
||||
|
||||
auto s = Director::getInstance()->getWinSize();
|
||||
|
||||
kmGLPushMatrix();
|
||||
kmGLTranslatef(s.width/2, 50, 0);
|
||||
DrawPrimitives::drawCardinalSpline(_array, 1, 100);
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &_modelViewMV2);
|
||||
kmGLPopMatrix();
|
||||
|
||||
CustomCommand* cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(ActionCardinalSpline::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
void ActionCardinalSpline::onDraw()
|
||||
{
|
||||
kmMat4 oldMat;
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &oldMat);
|
||||
kmGLLoadMatrix(&_modelViewMV1);
|
||||
DrawPrimitives::drawCardinalSpline(_array, 0, 100);
|
||||
kmGLLoadMatrix(&_modelViewMV2);
|
||||
DrawPrimitives::drawCardinalSpline(_array, 1, 100);
|
||||
kmGLLoadMatrix(&oldMat);
|
||||
}
|
||||
|
||||
std::string ActionCardinalSpline::title() const
|
||||
|
|
|
@ -343,6 +343,9 @@ public:
|
|||
virtual void onEnter();
|
||||
virtual void draw();
|
||||
virtual std::string subtitle() const override;
|
||||
|
||||
protected:
|
||||
void onDraw();
|
||||
};
|
||||
|
||||
class ActionTargeted : public ActionsDemo
|
||||
|
@ -415,6 +418,11 @@ public:
|
|||
virtual void onEnter();
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
protected:
|
||||
//cached data and callback
|
||||
kmMat4 _modelViewMV1;
|
||||
kmMat4 _modelViewMV2;
|
||||
void onDraw();
|
||||
private:
|
||||
PointArray* _array1;
|
||||
PointArray* _array2;
|
||||
|
@ -432,6 +440,10 @@ public:
|
|||
virtual std::string subtitle() const override;
|
||||
private:
|
||||
PointArray* _array;
|
||||
protected:
|
||||
void onDraw();
|
||||
kmMat4 _modelViewMV1;
|
||||
kmMat4 _modelViewMV2;
|
||||
};
|
||||
|
||||
class Issue1305 : public ActionsDemo
|
||||
|
@ -522,6 +534,10 @@ public:
|
|||
private:
|
||||
PointArray *_array1;
|
||||
PointArray *_array2;
|
||||
protected:
|
||||
void onDraw();
|
||||
kmMat4 _modelViewMV1;
|
||||
kmMat4 _modelViewMV2;
|
||||
};
|
||||
|
||||
class ActionCardinalSpline : public ActionsDemo
|
||||
|
@ -537,6 +553,10 @@ public:
|
|||
virtual std::string title() const override;
|
||||
private:
|
||||
PointArray *_array;
|
||||
protected:
|
||||
void onDraw();
|
||||
kmMat4 _modelViewMV1;
|
||||
kmMat4 _modelViewMV2;
|
||||
};
|
||||
|
||||
class PauseResumeActions : public ActionsDemo
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
#include "Box2dTest.h"
|
||||
#include "../testResource.h"
|
||||
#include "extensions/cocos-ext.h"
|
||||
#include "renderer/CCRenderer.h"
|
||||
#include "renderer/CCCustomCommand.h"
|
||||
|
||||
USING_NS_CC_EXT;
|
||||
|
||||
#define PTM_RATIO 32
|
||||
|
@ -144,13 +147,28 @@ void Box2DTestLayer::draw()
|
|||
GL::enableVertexAttribs( cocos2d::GL::VERTEX_ATTRIB_FLAG_POSITION );
|
||||
|
||||
kmGLPushMatrix();
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &_modelViewMV);
|
||||
|
||||
world->DrawDebugData();
|
||||
CustomCommand *cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(Box2DTestLayer::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
|
||||
kmGLPopMatrix();
|
||||
#endif
|
||||
}
|
||||
|
||||
#if CC_ENABLE_BOX2D_INTEGRATION
|
||||
void Box2DTestLayer::onDraw()
|
||||
{
|
||||
kmMat4 oldMV;
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &oldMV);
|
||||
kmGLLoadMatrix(&_modelViewMV);
|
||||
world->DrawDebugData();
|
||||
kmGLLoadMatrix(&oldMV);
|
||||
}
|
||||
#endif
|
||||
|
||||
void Box2DTestLayer::addNewSpriteAtPosition(Point p)
|
||||
{
|
||||
CCLOG("Add sprite %0.2f x %02.f",p.x,p.y);
|
||||
|
|
|
@ -24,6 +24,11 @@ public:
|
|||
void onTouchesEnded(const std::vector<Touch*>& touches, Event* event);
|
||||
|
||||
//CREATE_NODE(Box2DTestLayer);
|
||||
#if CC_ENABLE_BOX2D_INTEGRATION
|
||||
protected:
|
||||
kmMat4 _modelViewMV;
|
||||
void onDraw();
|
||||
#endif
|
||||
} ;
|
||||
|
||||
class Box2DTestScene : public TestScene
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "DrawPrimitivesTest.h"
|
||||
#include "renderer/CCRenderer.h"
|
||||
#include "renderer/CCCustomCommand.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
@ -114,7 +116,19 @@ DrawPrimitivesTest::DrawPrimitivesTest()
|
|||
|
||||
void DrawPrimitivesTest::draw()
|
||||
{
|
||||
CustomCommand * cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(DrawPrimitivesTest::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
void DrawPrimitivesTest::onDraw()
|
||||
{
|
||||
kmMat4 oldMat;
|
||||
kmGLGetMatrix(KM_GL_MODELVIEW, &oldMat);
|
||||
kmGLLoadMatrix(&_modelViewTransform);
|
||||
|
||||
//draw
|
||||
CHECK_GL_ERROR_DEBUG();
|
||||
|
||||
// draw a simple line
|
||||
|
@ -138,7 +152,7 @@ void DrawPrimitivesTest::draw()
|
|||
CHECK_GL_ERROR_DEBUG();
|
||||
|
||||
// TIP:
|
||||
// If you are going to use always the same color or width, you don't
|
||||
// If you are going to use always thde same color or width, you don't
|
||||
// need to call it before every draw
|
||||
//
|
||||
// Remember: OpenGL is a state-machine.
|
||||
|
@ -221,6 +235,9 @@ void DrawPrimitivesTest::draw()
|
|||
DrawPrimitives::setPointSize(1);
|
||||
|
||||
CHECK_GL_ERROR_DEBUG();
|
||||
|
||||
//end draw
|
||||
kmGLLoadMatrix(&oldMat);
|
||||
}
|
||||
|
||||
string DrawPrimitivesTest::title() const
|
||||
|
|
|
@ -28,6 +28,8 @@ public:
|
|||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual void draw();
|
||||
protected:
|
||||
void onDraw();
|
||||
};
|
||||
|
||||
class DrawNodeTest : public BaseLayer
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#include "../../testResource.h"
|
||||
#include "cocostudio/CocoStudio.h"
|
||||
#include "CCNodeGrid.h"
|
||||
#include "renderer/CCRenderer.h"
|
||||
#include "renderer/CCCustomCommand.h"
|
||||
|
||||
|
||||
using namespace cocos2d;
|
||||
|
@ -228,11 +230,6 @@ void ArmatureTestLayer::backCallback(Object *pSender)
|
|||
Director::getInstance()->replaceScene(s);
|
||||
s->release();
|
||||
}
|
||||
void ArmatureTestLayer::draw()
|
||||
{
|
||||
Layer::draw();
|
||||
}
|
||||
|
||||
|
||||
void TestAsynchronousLoading::onEnter()
|
||||
{
|
||||
|
@ -1097,7 +1094,17 @@ std::string TestBoundingBox::title() const
|
|||
}
|
||||
void TestBoundingBox::draw()
|
||||
{
|
||||
CC_NODE_DRAW_SETUP();
|
||||
CustomCommand *cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(TestBoundingBox::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
|
||||
}
|
||||
|
||||
void TestBoundingBox::onDraw()
|
||||
{
|
||||
getShaderProgram()->use();
|
||||
getShaderProgram()->setUniformsForBuiltins(_modelViewTransform);
|
||||
|
||||
rect = armature->getBoundingBox();
|
||||
|
||||
|
@ -1105,8 +1112,6 @@ void TestBoundingBox::draw()
|
|||
DrawPrimitives::drawRect(rect.origin, Point(rect.getMaxX(), rect.getMaxY()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
void TestAnchorPoint::onEnter()
|
||||
{
|
||||
ArmatureTestLayer::onEnter();
|
||||
|
|
|
@ -62,7 +62,6 @@ public:
|
|||
// overrides
|
||||
virtual void onEnter() override;
|
||||
virtual void onExit() override;
|
||||
virtual void draw() override;
|
||||
|
||||
protected:
|
||||
MenuItemImage *restartItem;
|
||||
|
@ -296,6 +295,8 @@ public:
|
|||
|
||||
cocostudio::Armature *armature;
|
||||
Rect rect;
|
||||
protected:
|
||||
void onDraw();
|
||||
};
|
||||
|
||||
class TestAnchorPoint : public ArmatureTestLayer
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include "LabelTest.h"
|
||||
#include "../testResource.h"
|
||||
#include "renderer/CCRenderer.h"
|
||||
#include "renderer/CCCustomCommand.h"
|
||||
|
||||
enum {
|
||||
kTagTileMap = 1,
|
||||
|
@ -207,12 +209,20 @@ void Atlas1::draw()
|
|||
// GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY
|
||||
// GL_TEXTURE_2D
|
||||
|
||||
_textureAtlas->drawQuads();
|
||||
CustomCommand *cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(Atlas1::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
|
||||
// [textureAtlas drawNumberOfQuads:3];
|
||||
|
||||
}
|
||||
|
||||
void Atlas1::onDraw()
|
||||
{
|
||||
_textureAtlas->drawQuads();
|
||||
}
|
||||
|
||||
std::string Atlas1::title() const
|
||||
{
|
||||
return "CCTextureAtlas";
|
||||
|
@ -515,6 +525,14 @@ Atlas4::Atlas4()
|
|||
}
|
||||
|
||||
void Atlas4::draw()
|
||||
{
|
||||
CustomCommand *cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(Atlas4::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
void Atlas4::onDraw()
|
||||
{
|
||||
auto s = Director::getInstance()->getWinSize();
|
||||
DrawPrimitives::drawLine( Point(0, s.height/2), Point(s.width, s.height/2) );
|
||||
|
@ -1594,6 +1612,14 @@ std::string LabelBMFontBounds::subtitle() const
|
|||
}
|
||||
|
||||
void LabelBMFontBounds::draw()
|
||||
{
|
||||
CustomCommand *cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(LabelBMFontBounds::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
void LabelBMFontBounds::onDraw()
|
||||
{
|
||||
auto labelSize = label1->getContentSize();
|
||||
auto origin = Director::getInstance()->getWinSize();
|
||||
|
|
|
@ -36,6 +36,8 @@ public:
|
|||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
virtual void draw();
|
||||
protected:
|
||||
void onDraw();
|
||||
};
|
||||
|
||||
class LabelAtlasTest : public AtlasDemo
|
||||
|
@ -102,6 +104,8 @@ public:
|
|||
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
protected:
|
||||
void onDraw();
|
||||
};
|
||||
|
||||
class Atlas5 : public AtlasDemo
|
||||
|
@ -372,6 +376,8 @@ public:
|
|||
virtual void draw();
|
||||
virtual std::string title() const override;
|
||||
virtual std::string subtitle() const override;
|
||||
protected:
|
||||
void onDraw();
|
||||
private:
|
||||
LabelBMFont *label1;
|
||||
};
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#include "CCConfiguration.h"
|
||||
#include "RenderTextureTest.h"
|
||||
#include "../testBasic.h"
|
||||
#include "renderer/CCRenderer.h"
|
||||
#include "renderer/CCCustomCommand.h"
|
||||
|
||||
// Test #1 by Jason Booth (slipster216)
|
||||
// Test #3 by David Deaco (ddeaco)
|
||||
|
@ -586,6 +588,17 @@ SpriteRenderTextureBug::SimpleSprite* SpriteRenderTextureBug::SimpleSprite::crea
|
|||
}
|
||||
|
||||
void SpriteRenderTextureBug::SimpleSprite::draw()
|
||||
{
|
||||
CustomCommand *cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(SpriteRenderTextureBug::SimpleSprite::onBeforeDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
|
||||
Sprite::draw();
|
||||
|
||||
}
|
||||
|
||||
void SpriteRenderTextureBug::SimpleSprite::onBeforeDraw()
|
||||
{
|
||||
if (_rt == nullptr)
|
||||
{
|
||||
|
@ -595,36 +608,6 @@ void SpriteRenderTextureBug::SimpleSprite::draw()
|
|||
}
|
||||
_rt->beginWithClear(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
_rt->end();
|
||||
|
||||
CC_NODE_DRAW_SETUP();
|
||||
|
||||
BlendFunc blend = getBlendFunc();
|
||||
GL::blendFunc(blend.src, blend.dst);
|
||||
|
||||
GL::bindTexture2D(getTexture()->getName());
|
||||
|
||||
//
|
||||
// Attributes
|
||||
//
|
||||
|
||||
GL::enableVertexAttribs(cocos2d::GL::VERTEX_ATTRIB_FLAG_POS_COLOR_TEX);
|
||||
|
||||
#define kQuadSize sizeof(_quad.bl)
|
||||
long offset = (long)&_quad;
|
||||
|
||||
// vertex
|
||||
int diff = offsetof( V3F_C4B_T2F, vertices);
|
||||
glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 3, GL_FLOAT, GL_FALSE, kQuadSize, (void*) (offset + diff));
|
||||
|
||||
// texCoods
|
||||
diff = offsetof( V3F_C4B_T2F, texCoords);
|
||||
glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, kQuadSize, (void*)(offset + diff));
|
||||
|
||||
// color
|
||||
diff = offsetof( V3F_C4B_T2F, colors);
|
||||
glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, kQuadSize, (void*)(offset + diff));
|
||||
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
}
|
||||
|
||||
SpriteRenderTextureBug::SpriteRenderTextureBug()
|
||||
|
|
|
@ -113,7 +113,8 @@ public:
|
|||
SimpleSprite();
|
||||
virtual void draw();
|
||||
|
||||
|
||||
protected:
|
||||
void onBeforeDraw();
|
||||
public:
|
||||
RenderTexture *_rt;
|
||||
};
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#include "ShaderTest.h"
|
||||
#include "../testResource.h"
|
||||
#include "cocos2d.h"
|
||||
#include "renderer/CCCustomCommand.h"
|
||||
#include "renderer/CCRenderer.h"
|
||||
|
||||
static int sceneIdx = -1;
|
||||
|
||||
|
@ -193,6 +195,14 @@ void ShaderNode::setPosition(const Point &newPosition)
|
|||
}
|
||||
|
||||
void ShaderNode::draw()
|
||||
{
|
||||
CustomCommand *cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(ShaderNode::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
void ShaderNode::onDraw()
|
||||
{
|
||||
CC_NODE_DRAW_SETUP();
|
||||
|
||||
|
@ -217,7 +227,6 @@ void ShaderNode::draw()
|
|||
CC_INCREMENT_GL_DRAWS(1);
|
||||
}
|
||||
|
||||
|
||||
/// ShaderMonjori
|
||||
|
||||
ShaderMonjori::ShaderMonjori()
|
||||
|
@ -438,6 +447,8 @@ public:
|
|||
|
||||
GLuint blurLocation;
|
||||
GLuint subLocation;
|
||||
protected:
|
||||
void onDraw();
|
||||
};
|
||||
|
||||
SpriteBlur::~SpriteBlur()
|
||||
|
@ -520,6 +531,14 @@ void SpriteBlur::initProgram()
|
|||
}
|
||||
|
||||
void SpriteBlur::draw()
|
||||
{
|
||||
CustomCommand *cmd = CustomCommand::getCommandPool().generateCommand();
|
||||
cmd->init(0, _vertexZ);
|
||||
cmd->func = CC_CALLBACK_0(SpriteBlur::onDraw, this);
|
||||
Director::getInstance()->getRenderer()->addCommand(cmd);
|
||||
}
|
||||
|
||||
void SpriteBlur::onDraw()
|
||||
{
|
||||
GL::enableVertexAttribs(cocos2d::GL::VERTEX_ATTRIB_FLAG_POS_COLOR_TEX );
|
||||
BlendFunc blend = getBlendFunc();
|
||||
|
|
|
@ -126,6 +126,9 @@ public:
|
|||
|
||||
static ShaderNode* shaderNodeWithVertex(const char *vert, const char *frag);
|
||||
|
||||
protected:
|
||||
void onDraw();
|
||||
|
||||
private:
|
||||
|
||||
Vertex2F _center;
|
||||
|
|
|
@ -49,7 +49,7 @@ void SpineTestScene::runThisTest()
|
|||
bool SpineTestLayer::init () {
|
||||
if (!Layer::init()) return false;
|
||||
|
||||
skeletonNode = CCSkeletonAnimation::createWithFile("spine/spineboy.json", "spine/spineboy.atlas");
|
||||
skeletonNode = SkeletonAnimation::createWithFile("spine/spineboy.json", "spine/spineboy.atlas");
|
||||
skeletonNode->setMix("walk", "jump", 0.2f);
|
||||
skeletonNode->setMix("jump", "walk", 0.4f);
|
||||
|
||||
|
@ -82,7 +82,7 @@ void SpineTestLayer::update (float deltaTime) {
|
|||
|
||||
}
|
||||
|
||||
void SpineTestLayer::animationStateEvent (CCSkeletonAnimation* node, int trackIndex, spEventType type, spEvent* event, int loopCount) {
|
||||
void SpineTestLayer::animationStateEvent (SkeletonAnimation* node, int trackIndex, spEventType type, spEvent* event, int loopCount) {
|
||||
spTrackEntry* entry = spAnimationState_getCurrent(node->state, trackIndex);
|
||||
const char* animationName = (entry && entry->animation) ? entry->animation->name : 0;
|
||||
|
||||
|
|
|
@ -38,13 +38,13 @@ public:
|
|||
|
||||
class SpineTestLayer: public cocos2d::Layer {
|
||||
private:
|
||||
spine::CCSkeletonAnimation* skeletonNode;
|
||||
spine::SkeletonAnimation* skeletonNode;
|
||||
|
||||
public:
|
||||
|
||||
virtual bool init ();
|
||||
virtual void update (float deltaTime);
|
||||
void animationStateEvent (spine::CCSkeletonAnimation* node, int trackIndex, spEventType type, spEvent* event, int loopCount);
|
||||
void animationStateEvent (spine::SkeletonAnimation* node, int trackIndex, spEventType type, spEvent* event, int loopCount);
|
||||
|
||||
CREATE_FUNC (SpineTestLayer);
|
||||
};
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<DebugInformationFormat>OldStyle</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4267;4251;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit fda861cde4387948e95811966d9c4ceea04dc758
|
||||
Subproject commit ff3a95b059be8421677ed6817b73ae2ac577781d
|
|
@ -1,7 +1,7 @@
|
|||
[cocos2dx_spine]
|
||||
prefix = cocos2dx_spine
|
||||
|
||||
target_namespace = cc
|
||||
target_namespace = sp
|
||||
|
||||
android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include
|
||||
android_flags = -D_SIZE_T_DEFINED_
|
||||
|
@ -20,12 +20,12 @@ extra_arguments = %(android_headers)s %(clang_headers)s %(cxxgenerator_headers)s
|
|||
|
||||
headers = %(cocosdir)s/cocos/editor-support/spine/spine-cocos2dx.h
|
||||
|
||||
skip = CCSkeleton::[createWithData],
|
||||
CCSkeletonAnimation::[createWithData]
|
||||
skip = Skeleton::[createWithData],
|
||||
SkeletonAnimation::[createWithData]
|
||||
|
||||
classes = CCSkeleton CCSkeletonAnimation
|
||||
classes = Skeleton SkeletonAnimation
|
||||
|
||||
remove_prefix = CC
|
||||
remove_prefix =
|
||||
|
||||
classes_have_no_parents =
|
||||
|
||||
|
|
Loading…
Reference in New Issue