-// resolution: 600*600, pixel format: RGB888
-static const char* gImage_600_RGB = TEST_RESOURCE_DIR "/test-image-600.jpg";
-
-Integration::Bitmap* CreateBitmap( unsigned int imageWidth, unsigned int imageHeight, unsigned int initialColor, Pixel::Format pixelFormat )
-{
- Integration::Bitmap* bitmap = Integration::Bitmap::New( Integration::Bitmap::BITMAP_2D_PACKED_PIXELS, ResourcePolicy::OWNED_RETAIN );
- Integration::PixelBuffer* pixbuffer = bitmap->GetPackedPixelsProfile()->ReserveBuffer( pixelFormat, imageWidth, imageHeight, imageWidth, imageHeight );
- unsigned int bytesPerPixel = GetBytesPerPixel( pixelFormat );
-
- memset( pixbuffer, initialColor, imageHeight * imageWidth * bytesPerPixel );
-
- return bitmap;
-}
-
-void InitialiseRegionsToZeroAlpha( Integration::Bitmap* image, unsigned int imageWidth, unsigned int imageHeight, Pixel::Format pixelFormat )
-{
- PixelBuffer* pixbuffer = image->GetBuffer();
- unsigned int bytesPerPixel = GetBytesPerPixel( pixelFormat );
-
- for( unsigned int row = 0; row < imageWidth; ++row )
- {
- unsigned int pixelOffset = row * bytesPerPixel;
- pixbuffer[ pixelOffset + 3 ] = 0x00;
- pixelOffset += ( imageHeight - 1 ) * imageWidth * bytesPerPixel;
- pixbuffer[ pixelOffset + 3 ] = 0x00;
- }
-
- for ( unsigned int column = 0; column < imageHeight; ++column )
- {
- unsigned int pixelOffset = column * imageWidth * bytesPerPixel;
- pixbuffer[ pixelOffset + 3 ] = 0x00;
- pixelOffset += ( imageWidth -1 ) * bytesPerPixel;
- pixbuffer[ pixelOffset + 3 ] = 0x00;
- }
-}
-
-void AddStretchRegionsToImage( Integration::Bitmap* image, unsigned int imageWidth, unsigned int imageHeight, const StretchRanges& stretchRangesX, const StretchRanges& stretchRangesY, Pixel::Format pixelFormat )
-{
- PixelBuffer* pixbuffer = image->GetBuffer();
- unsigned int bytesPerPixel = GetBytesPerPixel( pixelFormat );
-
- for(StretchRanges::ConstIterator it = stretchRangesX.Begin(); it != stretchRangesX.End(); ++it)
- {
- const Uint16Pair& range = *it;
- //since the stretch range is in the cropped image space, we need to offset by 1 to get it to the uncropped image space
- for( unsigned int column = range.GetX() + 1u; column < range.GetY() + 1u; ++column )
- {
- unsigned int pixelOffset = column * bytesPerPixel;
- pixbuffer[ pixelOffset ] = 0x00;
- pixbuffer[ pixelOffset + 1 ] = 0x00;
- pixbuffer[ pixelOffset + 2 ] = 0x00;
- pixbuffer[ pixelOffset + 3 ] = 0xFF;
- }
- }
-
-
- for(StretchRanges::ConstIterator it = stretchRangesY.Begin(); it != stretchRangesY.End(); ++it)
- {
- const Uint16Pair& range = *it;
- //since the stretch range is in the cropped image space, we need to offset by 1 to get it to the uncropped image space
- for( unsigned int row = range.GetX() + 1u; row < range.GetY() + 1u; ++row )
- {
- unsigned int pixelOffset = row * imageWidth * bytesPerPixel;
- pixbuffer[ pixelOffset ] = 0x00;
- pixbuffer[ pixelOffset + 1 ] = 0x00;
- pixbuffer[ pixelOffset + 2 ] = 0x00;
- pixbuffer[ pixelOffset + 3 ] = 0xFF;
- }
- }
-}
-
-void AddChildRegionsToImage( Integration::Bitmap* image, unsigned int imageWidth, unsigned int imageHeight, const Vector4& requiredChildRegion, Pixel::Format pixelFormat )
-{
- PixelBuffer* pixbuffer = image->GetBuffer();
- unsigned int bytesPerPixel = GetBytesPerPixel( pixelFormat );
-
- Integration::Bitmap::PackedPixelsProfile* srcProfile = image->GetPackedPixelsProfile();
- unsigned int bufferStride = srcProfile->GetBufferStride();
-
- // Add bottom child region
- for( unsigned int column = requiredChildRegion.x; column < imageWidth - requiredChildRegion.z; ++column )
- {
- unsigned int pixelOffset = column * bytesPerPixel;
- pixelOffset += ( imageHeight - 1 ) * bufferStride;
- pixbuffer[ pixelOffset ] = 0x00;
- pixbuffer[ pixelOffset + 1 ] = 0x00;
- pixbuffer[ pixelOffset + 2 ] = 0x00;
- pixbuffer[ pixelOffset + 3 ] = 0xFF;
- }