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

Function convertDataToFormat

core/renderer/backend/PixelFormatUtils.cpp:831–871  ·  view source on GitHub ↗

convert map: 1.PixelFormat::RGBA8 2.PixelFormat::RGB8 3.PixelFormat::RGB565 4.PixelFormat::R8 5.PixelFormat::RG8 6.PixelFormat::RGBA4 7.PixelFormat::RGB5A1 gray(5) -> 1235678 gray alpha(6) -> 12345678 rgb(2) -> 1235678 rgba(1) -> 12345678 */

Source from the content-addressed store, hash-verified

829
830 */
831ax::backend::PixelFormat convertDataToFormat(const unsigned char* data,
832 size_t dataLen,
833 PixelFormat originFormat,
834 PixelFormat format,
835 unsigned char** outData,
836 size_t* outDataLen)
837{
838 // don't need to convert
839 if (format == originFormat)
840 {
841 *outData = (unsigned char*)data;
842 *outDataLen = dataLen;
843 return originFormat;
844 }
845
846 switch (originFormat)
847 {
848 case PixelFormat::R8:
849 return convertR8ToFormat(data, dataLen, format, outData, outDataLen);
850 case PixelFormat::RG8:
851 return convertRG8ToFormat(data, dataLen, format, outData, outDataLen);
852 case PixelFormat::RGB8:
853 return convertRGB8ToFormat(data, dataLen, format, outData, outDataLen);
854 case PixelFormat::RGBA8:
855 return convertRGBA8ToFormat(data, dataLen, format, outData, outDataLen);
856 case PixelFormat::RGB5A1:
857 return convertRGB5A1ToFormat(data, dataLen, format, outData, outDataLen);
858 case PixelFormat::RGB565:
859 return convertRGB565ToFormat(data, dataLen, format, outData, outDataLen);
860 case PixelFormat::RGBA4:
861 return convertRGBA4ToFormat(data, dataLen, format, outData, outDataLen);
862 case PixelFormat::BGRA8:
863 return convertBGRA8ToFormat(data, dataLen, format, outData, outDataLen);
864 default:
865 AXLOGW("unsupported conversion from format {} to format {}", static_cast<int>(originFormat),
866 static_cast<int>(format));
867 *outData = (unsigned char*)data;
868 *outDataLen = dataLen;
869 return originFormat;
870 }
871}
872} // namespace PixelFormatUtils
873} // namespace backend
874

Callers 3

initMethod · 0.85
updateWithMipmapsMethod · 0.85
initWithStringMethod · 0.85

Calls 8

convertR8ToFormatFunction · 0.85
convertRG8ToFormatFunction · 0.85
convertRGB8ToFormatFunction · 0.85
convertRGBA8ToFormatFunction · 0.85
convertRGB5A1ToFormatFunction · 0.85
convertRGB565ToFormatFunction · 0.85
convertRGBA4ToFormatFunction · 0.85
convertBGRA8ToFormatFunction · 0.85

Tested by

no test coverage detected