use of org.eclipse.swt.graphics.PaletteData in project eclipse.platform.swt by eclipse.
the class Test_org_eclipse_swt_graphics_Image method test_equalsLjava_lang_Object.
@Test
public void test_equalsLjava_lang_Object() {
Image image = null;
Image image1 = null;
try {
image = new Image(display, 10, 10);
image1 = image;
assertFalse(":a:", image.equals(null));
assertTrue(":b:", image.equals(image1));
ImageData imageData = new ImageData(10, 10, 1, new PaletteData(new RGB(0, 0, 0)));
image.dispose();
image = new Image(display, imageData);
image1 = new Image(display, imageData);
assertFalse(":c:", image.equals(image1));
} finally {
image.dispose();
image1.dispose();
}
// ImageFileNameProvider
try {
image = new Image(display, imageFileNameProvider);
image1 = image;
assertFalse(":d:", image.equals(null));
assertTrue(":e:", image.equals(image1));
image1 = new Image(display, imageFileNameProvider);
assertTrue(":f:", image.equals(image1));
} finally {
image.dispose();
image1.dispose();
}
try {
image = new Image(display, imageFileNameProvider);
image1 = image;
assertFalse(":d:", image.equals(null));
assertTrue(":e:", image.equals(image1));
image1 = new Image(display, imageFileNameProvider);
assertTrue(":f:", image.equals(image1));
} finally {
image.dispose();
image1.dispose();
}
// ImageDataProvider
try {
image = new Image(display, imageDataProvider);
image1 = image;
assertFalse(":g:", image.equals(null));
assertTrue(":h:", image.equals(image1));
image1 = new Image(display, imageDataProvider);
assertTrue(":i:", image.equals(image1));
} finally {
image.dispose();
image1.dispose();
}
}
use of org.eclipse.swt.graphics.PaletteData in project eclipse.platform.swt by eclipse.
the class Test_org_eclipse_swt_graphics_Image method getImageData2.
/*
* Verify Image.getImageData returns pixels with the same RGB value as the
* source image. This test only makes sense with depth of 24 and 32 bits.
*/
void getImageData2(int depth, PaletteData palette) {
int width = 10;
int height = 10;
Color color = new Color(display, 0, 0xff, 0);
RGB colorRGB = color.getRGB();
ImageData imageData = new ImageData(width, height, depth, palette);
Image image = new Image(display, imageData);
GC gc = new GC(image);
gc.setBackground(color);
gc.setForeground(color);
gc.fillRectangle(0, 0, 10, 10);
ImageData newData = image.getImageData();
PaletteData newPalette = newData.palette;
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
int pixel = newData.getPixel(i, j);
RGB rgb = newPalette.getRGB(pixel);
assertTrue("rgb.equals(colorRGB)", rgb.equals(colorRGB));
}
}
color.dispose();
gc.dispose();
image.dispose();
}
use of org.eclipse.swt.graphics.PaletteData in project eclipse.platform.swt by eclipse.
the class Test_org_eclipse_swt_graphics_ImageData method test_setPixelsIII$II.
@Test
public void test_setPixelsIII$II() {
final int SIZE = 20;
final int OFFSET = 1;
int[] pixelData = new int[SIZE];
// test 1 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 1, new PaletteData(new RGB(0, 0, 0), new RGB(255, 255, 255)));
int[] values = new int[] { 0x1, 0x1, 0x1, 0x1, 0x1 };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":a:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":b:", 0, pixelData[i]);
}
}
// test 2 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 2, new PaletteData(new RGB(0, 0, 0), new RGB(255, 255, 255)));
values = new int[] { 0x1, 0x2, 0x3, 0x2, 0x1 };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":c:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":d:", 0, pixelData[i]);
}
}
// test 4 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 4, new PaletteData(new RGB(0, 0, 0), new RGB(255, 255, 255)));
values = new int[] { 0x1, 0x2, 0x3, 0x4, 0xF };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":e:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":f:", 0, pixelData[i]);
}
}
// test 8 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 8, new PaletteData(new RGB(0, 0, 0), new RGB(255, 255, 255)));
values = new int[] { 0x1, 0x2, 0x3, 0xF, 0xFF };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":g:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":h:", 0, pixelData[i]);
}
}
// test 16 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 16, new PaletteData(0xF800, 0x7E0, 0x1F));
values = new int[] { 0, 0x2, 0xF, 0xFF, 0xFFAA };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":i:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":j:", 0, pixelData[i]);
}
}
// test 24 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 24, new PaletteData(0xFF0000, 0xFF00, 0xFF));
values = new int[] { 0, 0xFF, 0xFFAA, 0xFF00AA };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":k:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":l:", 0, pixelData[i]);
}
}
// test 32 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 32, new PaletteData(0xFF000000, 0xFF00, 0xFF));
values = new int[] { 0, 0xFF, 0xFFAA, 0xFF00AA00 };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":m:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":n:", 0, pixelData[i]);
}
}
// exception cases
try {
imageData.setPixels(0, 1, IMAGE_DIMENSION * IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for putWidth out of bounds");
} catch (IndexOutOfBoundsException e) {
}
try {
imageData.setPixels(0, 1, IMAGE_DIMENSION, (int[]) null, OFFSET);
fail("No exception thrown for pixels == null");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for pixels == null", SWT.ERROR_NULL_ARGUMENT, e);
}
try {
imageData.setPixels(-1, 1, IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for x out of bounds");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for x out of bounds", SWT.ERROR_INVALID_ARGUMENT, e);
}
try {
imageData.setPixels(IMAGE_DIMENSION, 1, IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for x out of bounds");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for x out of bounds", SWT.ERROR_INVALID_ARGUMENT, e);
}
try {
imageData.setPixels(0, -1, IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for y out of bounds");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for y out of bounds", SWT.ERROR_INVALID_ARGUMENT, e);
}
try {
imageData.setPixels(0, IMAGE_DIMENSION, IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for y out of bounds");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for y out of bounds", SWT.ERROR_INVALID_ARGUMENT, e);
}
try {
imageData.setPixels(0, 1, -1, pixelData, OFFSET);
fail("No exception thrown for putWidth < 0");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for putWidth < 0", SWT.ERROR_INVALID_ARGUMENT, e);
}
}
use of org.eclipse.swt.graphics.PaletteData in project eclipse.platform.swt by eclipse.
the class Test_org_eclipse_swt_graphics_ImageData method test_setPixelsIII$BI.
@Test
public void test_setPixelsIII$BI() {
final int SIZE = 20;
final int OFFSET = 1;
byte[] pixelData = new byte[SIZE];
// test 1 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 1, new PaletteData(new RGB(0, 0, 0), new RGB(255, 255, 255)));
byte[] values = new byte[] { 0x1, 0x1, 0x1, 0x1, 0x1 };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":a:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":b:", 0, pixelData[i]);
}
}
// test 2 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 2, new PaletteData(new RGB(0, 0, 0), new RGB(255, 255, 255)));
values = new byte[] { 0x1, 0x2, 0x3, 0x2, 0x1 };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":c:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":d:", 0, pixelData[i]);
}
}
// test 4 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 4, new PaletteData(new RGB(0, 0, 0), new RGB(255, 255, 255)));
values = new byte[] { 0x1, 0x2, 0x3, 0x4, 0xF };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":e:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":f:", 0, pixelData[i]);
}
}
// test 8 bit
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 8, new PaletteData(new RGB(0, 0, 0), new RGB(255, 255, 255)));
values = new byte[] { 0x1, 0x2, 0x3, 0xF, (byte) 0xFF };
imageData.setPixels(0, 1, values.length - OFFSET, values, OFFSET);
imageData.getPixels(0, 1, IMAGE_DIMENSION, pixelData, 0);
for (int i = 0; i < pixelData.length; i++) {
if (i + OFFSET < values.length) {
assertEquals(":g:", values[i + OFFSET], pixelData[i]);
} else {
assertEquals(":h:", 0, pixelData[i]);
}
}
// exception cases
try {
imageData.setPixels(0, 1, IMAGE_DIMENSION * IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for putWidth out of bounds");
} catch (IndexOutOfBoundsException e) {
}
try {
imageData.setPixels(0, 1, IMAGE_DIMENSION, (byte[]) null, OFFSET);
fail("No exception thrown for pixels == null");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for pixels == null", SWT.ERROR_NULL_ARGUMENT, e);
}
try {
imageData.setPixels(-1, 1, IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for x out of bounds");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for x out of bounds", SWT.ERROR_INVALID_ARGUMENT, e);
}
try {
imageData.setPixels(IMAGE_DIMENSION, 1, IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for x out of bounds");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for x out of bounds", SWT.ERROR_INVALID_ARGUMENT, e);
}
try {
imageData.setPixels(0, -1, IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for y out of bounds");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for y out of bounds", SWT.ERROR_INVALID_ARGUMENT, e);
}
try {
imageData.setPixels(0, IMAGE_DIMENSION, IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for y out of bounds");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for y out of bounds", SWT.ERROR_INVALID_ARGUMENT, e);
}
try {
imageData.setPixels(0, 1, -1, pixelData, OFFSET);
fail("No exception thrown for putWidth < 0");
} catch (IllegalArgumentException e) {
assertSWTProblem("Incorrect exception thrown for putWidth < 0", SWT.ERROR_INVALID_ARGUMENT, e);
}
imageData = new ImageData(IMAGE_DIMENSION, IMAGE_DIMENSION, 32, new PaletteData(0xFF0000, 0xFF00, 0xFF));
try {
imageData.setPixels(0, 1, IMAGE_DIMENSION, pixelData, OFFSET);
fail("No exception thrown for invalid depth");
} catch (SWTException e) {
assertSWTProblem("Incorrect exception thrown for invalid depth", SWT.ERROR_UNSUPPORTED_DEPTH, e);
}
}
use of org.eclipse.swt.graphics.PaletteData in project eclipse.platform.swt by eclipse.
the class Test_org_eclipse_swt_graphics_ImageData method test_ConstructorIIILorg_eclipse_swt_graphics_PaletteData.
@Test
public void test_ConstructorIIILorg_eclipse_swt_graphics_PaletteData() {
try {
new ImageData(-1, 1, 1, new PaletteData(new RGB(0, 0, 0)));
fail("No exception thrown for width < 0");
} catch (IllegalArgumentException e) {
}
try {
new ImageData(1, -1, 1, new PaletteData(new RGB(0, 0, 0)));
fail("No exception thrown for height < 0");
} catch (IllegalArgumentException e) {
}
try {
new ImageData(1, 1, 1, null, 0, new byte[] { 0, 0x4f, 0x4f, 0 });
fail("No exception thrown for paletteData == null");
} catch (IllegalArgumentException e) {
}
try {
new ImageData(1, 1, 3, new PaletteData(new RGB(0, 0, 0)));
fail("No exception thrown for unsupported depth");
} catch (IllegalArgumentException e) {
}
int[] validDepths = { 1, 2, 4, 8, 16, 24, 32 };
for (int i = 0; i < validDepths.length; i++) {
new ImageData(1, 1, validDepths[i], new PaletteData(new RGB(0, 0, 0)));
}
}
Aggregations