< prev index next >
src/java.desktop/macosx/classes/sun/lwawt/macosx/CImage.java
Print this page
@@ -136,21 +136,10 @@
g2.dispose();
return ((DataBufferInt)bimg.getRaster().getDataBuffer()).getData();
}
- public CImage createFromImageImmediately(final Image image) {
- int[] buffer = imageToArray(image, false);
-
- if (buffer == null) {
- return null;
- }
-
- return new CImage(nativeCreateNSImageFromArray(buffer, image.getWidth(null),
- image.getHeight(null)));
- }
-
public byte[] getPlatformImageBytes(final Image image) {
int[] buffer = imageToArray(image, false);
if (buffer == null) {
return null;
@@ -166,24 +155,37 @@
return createImageUsingNativeSize(nativeCreateNSImageFromBytes(buffer));
}
// This is used to create a CImage from a Image
public CImage createFromImage(final Image image) {
+ return createFromImage(image, true);
+ }
+
+ public CImage createFromImageImmediately(final Image image) {
+ return createFromImage(image, false);
+ }
+
+ // This is used to create a CImage from a Image
+ private CImage createFromImage(final Image image, final boolean prepareImage) {
if (image instanceof MultiResolutionImage) {
List<Image> resolutionVariants
= ((MultiResolutionImage) image).getResolutionVariants();
- return createFromImages(resolutionVariants);
+ return createFromImages(resolutionVariants, prepareImage);
}
- int[] buffer = imageToArray(image, true);
+ int[] buffer = imageToArray(image, prepareImage);
if (buffer == null) {
return null;
}
return new CImage(nativeCreateNSImageFromArray(buffer, image.getWidth(null), image.getHeight(null)));
}
- public CImage createFromImages(List<Image> images) {
+ public CImage createFromImages(final List<Image> images) {
+ return createFromImages(images, true);
+ }
+
+ private CImage createFromImages(final List<Image> images, final boolean prepareImage) {
if (images == null || images.isEmpty()) {
return null;
}
int num = images.size();
@@ -192,12 +194,12 @@
int[] w = new int[num];
int[] h = new int[num];
num = 0;
- for (Image img : images) {
- buffers[num] = imageToArray(img, true);
+ for (final Image img : images) {
+ buffers[num] = imageToArray(img, prepareImage);
if (buffers[num] == null) {
// Unable to process the image
continue;
}
w[num] = img.getWidth(null);
< prev index next >