- tet_infoline("Test that the image has been scaled and cropped to match the alpha mask" );
- DALI_TEST_EQUALS( imageData.GetWidth(), 32, TEST_LOCATION );
- DALI_TEST_EQUALS( imageData.GetHeight(), 20, TEST_LOCATION );
-
- tet_infoline( "Test that the image has been resized (the center square should now fill the image)\n");
- tet_infoline( "Test that the first quadrant has no alpha");
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 0, 0), 0x00u, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 5, 4), 0x00u, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 5, 8), 0x00u, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 14, 8), 0x00u, TEST_LOCATION );
-
- tet_infoline( "Test that the second quadrant has alpha and data");
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 18, 0), 0xffu, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 30, 1), 0xffu, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 30, 8), 0xffu, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 19, 8), 0xffu, TEST_LOCATION );
-
- tet_infoline( "Test that the third quadrant has no alpha");
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 18, 12), 0x00u, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 31, 12), 0x00u, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 31, 19), 0x00u, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 18, 19), 0x00u, TEST_LOCATION );
-
- tet_infoline( "Test that the fourth quadrant has alpha and data");
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 1, 12), 0xffu, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 7, 12), 0xffu, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 7, 19), 0xffu, TEST_LOCATION );
- DALI_TEST_EQUALS( GetAlphaAt(imageData, 1, 19), 0xffu, TEST_LOCATION );
+ tet_infoline("Test that the image has been scaled and cropped to match the alpha mask");
+ DALI_TEST_EQUALS(imageData.GetWidth(), 32, TEST_LOCATION);
+ DALI_TEST_EQUALS(imageData.GetHeight(), 20, TEST_LOCATION);
+
+ tet_infoline("Test that the image has been resized (the center square should now fill the image)\n");
+ tet_infoline("Test that the first quadrant has no alpha");
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 0, 0), 0x00u, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 5, 4), 0x00u, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 5, 8), 0x00u, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 14, 8), 0x00u, TEST_LOCATION);
+
+ tet_infoline("Test that the second quadrant has alpha and data");
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 18, 0), 0xffu, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 30, 1), 0xffu, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 30, 8), 0xffu, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 19, 8), 0xffu, TEST_LOCATION);
+
+ tet_infoline("Test that the third quadrant has no alpha");
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 18, 12), 0x00u, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 31, 12), 0x00u, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 31, 19), 0x00u, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 18, 19), 0x00u, TEST_LOCATION);
+
+ tet_infoline("Test that the fourth quadrant has alpha and data");
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 1, 12), 0xffu, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 7, 12), 0xffu, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 7, 19), 0xffu, TEST_LOCATION);
+ DALI_TEST_EQUALS(GetAlphaAt(imageData, 1, 19), 0xffu, TEST_LOCATION);
+
+ END_TEST;
+}
+
+int UtcDaliPixelBufferGaussianBlur(void)
+{
+ TestApplication application;
+
+ Devel::PixelBuffer imageData = Devel::PixelBuffer::New(10, 10, Pixel::RGBA8888);
+ FillCheckerboard(imageData);
+
+ DALI_TEST_EQUALS(imageData.GetWidth(), 10, TEST_LOCATION);
+ DALI_TEST_EQUALS(imageData.GetHeight(), 10, TEST_LOCATION);
+
+ unsigned char* buffer = imageData.GetBuffer();
+
+ // Test that an even pixel in the odd row has full alpha value
+ DALI_TEST_EQUALS(buffer[43], 0xffu, TEST_LOCATION);
+
+ // Test that an even pixel in the even row has no alpha value
+ DALI_TEST_EQUALS(buffer[55], 0x00u, TEST_LOCATION);
+
+ imageData.ApplyGaussianBlur(0.0f);
+
+ // Test that the pixels' alpha values are not changed because there is no blur
+ DALI_TEST_EQUALS(buffer[43], 0xffu, TEST_LOCATION);
+ DALI_TEST_EQUALS(buffer[55], 0x00u, TEST_LOCATION);
+
+ imageData.ApplyGaussianBlur(1.0f);
+
+ // Test that the pixels' alpha values are changed after applying gaussian blur
+ DALI_TEST_EQUALS(buffer[43], 0x7Au, TEST_LOCATION);
+ DALI_TEST_EQUALS(buffer[55], 0x7Eu, TEST_LOCATION);