- BufferImage image = BufferImage::New( 2, 1, Pixel::RGBA8888 );
- PixelBuffer* pixelBuffer = image.GetBuffer();
- pixelBuffer[0]=0xFF * color1.x;
- pixelBuffer[1]=0xFF * color1.y;
- pixelBuffer[2]=0xFF * color1.z;
- pixelBuffer[3]=0xFF * color1.w;
- pixelBuffer[4]=0xFF * color2.x;
- pixelBuffer[5]=0xFF * color2.y;
- pixelBuffer[6]=0xFF * color2.z;
- pixelBuffer[7]=0xFF * color2.w;
- image.Update();
- return image;
+ const auto width = 2u;
+ const auto height = 1u;
+ auto size = width * height * 4;
+ auto pixelBuffer = new unsigned char[size];
+ pixelBuffer[0] = 0xFF * color1.x;
+ pixelBuffer[1] = 0xFF * color1.y;
+ pixelBuffer[2] = 0xFF * color1.z;
+ pixelBuffer[3] = 0xFF * color1.w;
+ pixelBuffer[4] = 0xFF * color2.x;
+ pixelBuffer[5] = 0xFF * color2.y;
+ pixelBuffer[6] = 0xFF * color2.z;
+ pixelBuffer[7] = 0xFF * color2.w;
+
+ auto pixelData = PixelData::New(pixelBuffer, size, width, height, Pixel::RGBA8888, PixelData::ReleaseFunction::DELETE_ARRAY);
+ auto texture = Texture::New( TextureType::TEXTURE_2D, Pixel::RGBA8888, width, height );
+ texture.Upload(pixelData);
+
+ return Toolkit::TextureManager::AddTexture(texture);