| 307 | } |
| 308 | |
| 309 | Sprite* createSpriteFromBase64Cached(const char* base64String, const char* key) |
| 310 | { |
| 311 | Texture2D* texture = Director::getInstance()->getTextureCache()->getTextureForKey(key); |
| 312 | |
| 313 | if (texture == nullptr) |
| 314 | { |
| 315 | unsigned char* decoded; |
| 316 | int length = base64Decode((const unsigned char*)base64String, (unsigned int)strlen(base64String), &decoded); |
| 317 | |
| 318 | Image* image = new Image(); |
| 319 | bool imageResult = image->initWithImageData(decoded, length, true); |
| 320 | AXASSERT(imageResult, "Failed to create image from base64!"); |
| 321 | |
| 322 | if (!imageResult) |
| 323 | { |
| 324 | AX_SAFE_RELEASE_NULL(image); |
| 325 | return nullptr; |
| 326 | } |
| 327 | |
| 328 | texture = Director::getInstance()->getTextureCache()->addImage(image, key); |
| 329 | image->release(); |
| 330 | } |
| 331 | |
| 332 | Sprite* sprite = Sprite::createWithTexture(texture); |
| 333 | |
| 334 | return sprite; |
| 335 | } |
| 336 | |
| 337 | Sprite* createSpriteFromBase64(const char* base64String) |
| 338 | { |
no test coverage detected