MCPcopy Create free account
hub / github.com/defold/defold / CopyImageBufferFlipped

Function CopyImageBufferFlipped

engine/gui/src/gui.cpp:837–860  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

835 }
836
837 static bool CopyImageBufferFlipped(uint32_t width, uint32_t height, const uint8_t* buffer, uint32_t buffer_size, dmImage::Type type, uint8_t* out_buffer)
838 {
839 uint32_t stride = width*sizeof(uint8_t);
840 if (type == dmImage::TYPE_RGB) {
841 stride *= 3;
842 } else if (type == dmImage::TYPE_RGBA) {
843 stride *= 4;
844 }
845
846 if (stride*height != buffer_size) {
847 dmLogError("Invalid data size when flipping image buffer.");
848 return false;
849 }
850
851 const uint8_t* read_buffer = buffer+buffer_size;
852 for (uint32_t y = 0; y < height; ++y)
853 {
854 read_buffer -= stride;
855 memcpy(out_buffer, read_buffer, stride);
856 out_buffer += stride;
857 }
858
859 return true;
860 }
861
862 static void* MakeDynamicTextureData(uint32_t width, uint32_t height, dmImage::Type type, bool flip, const void* buffer, uint32_t buffer_size)
863 {

Callers 1

MakeDynamicTextureDataFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected