MCPcopy Create free account
hub / github.com/axmolengine/axmol / createSpriteFromBase64Cached

Function createSpriteFromBase64Cached

core/base/Utils.cpp:309–335  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

307}
308
309Sprite* 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
337Sprite* createSpriteFromBase64(const char* base64String)
338{

Callers 3

initMethod · 0.85
createControlsMethod · 0.85
initMethod · 0.85

Calls 7

getInstanceFunction · 0.85
base64DecodeFunction · 0.85
getTextureForKeyMethod · 0.80
getTextureCacheMethod · 0.80
initWithImageDataMethod · 0.45
addImageMethod · 0.45
releaseMethod · 0.45

Tested by

no test coverage detected