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

Function convertRGB5A1ToFormat

core/renderer/backend/PixelFormatUtils.cpp:693–725  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

691}
692
693static ax::backend::PixelFormat convertRGB5A1ToFormat(const unsigned char* data,
694 size_t dataLen,
695 PixelFormat format,
696 unsigned char** outData,
697 size_t* outDataLen)
698{
699 switch (format)
700 {
701 case PixelFormat::RGBA8:
702 *outDataLen = dataLen / 2 * 4;
703 *outData = (unsigned char*)malloc(sizeof(unsigned char) * (*outDataLen));
704 convertRGB5A1ToRGBA8(data, dataLen, *outData);
705 break;
706 case PixelFormat::RGB5A1:
707 *outDataLen = dataLen;
708 *outData = (unsigned char*)data;
709 break;
710 default:
711 // unsupported conversion or don't need to convert
712 if (format != PixelFormat::RGBA8)
713 {
714 AXLOGW(
715 "Can not convert image format PixelFormat::RGB5A1 to format ID:{}, we will use it's origin format "
716 "PixelFormat::RGB51A",
717 static_cast<int>(format));
718 }
719 *outData = (unsigned char*)data;
720 *outDataLen = dataLen;
721 return PixelFormat::RGBA8;
722 }
723
724 return format;
725}
726
727static ax::backend::PixelFormat convertRGB565ToFormat(const unsigned char* data,
728 size_t dataLen,

Callers 1

convertDataToFormatFunction · 0.85

Calls 1

convertRGB5A1ToRGBA8Function · 0.85

Tested by

no test coverage detected