From: Michael T H. <mic...@us...> - 2003-10-09 11:55:57
|
Update of /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/g3d In directory sc8-pr-cvs1:/tmp/cvs-serv25070/src/org/openscience/jmol/viewer/g3d Modified Files: Awt3D.java Log Message: Rolling back Awt3D to use MemoryImageSource to see if it works on MacOS9 Index: Awt3D.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/g3d/Awt3D.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Awt3D.java 7 Oct 2003 14:31:28 -0000 1.6 +++ Awt3D.java 9 Oct 2003 11:55:53 -0000 1.7 @@ -28,62 +28,31 @@ import java.awt.Component; import java.awt.Graphics; import java.awt.Image; -import java.awt.image.ImageProducer; -import java.awt.image.ImageConsumer; -import java.awt.image.ColorModel; +import java.awt.image.MemoryImageSource; import java.awt.Rectangle; -final public class Awt3D extends Platform3D implements ImageProducer { +final public class Awt3D extends Platform3D { Component component; - ColorModel colorModelRGB; - ImageConsumer ic; + MemoryImageSource mis; public Awt3D(Component component) { this.component = component; - colorModelRGB = ColorModel.getRGBdefault(); } public void allocatePixelBuffer() { pBuffer = new int[size]; - imagePixelBuffer = component.createImage(this); + mis = new MemoryImageSource(width, height, pBuffer, 0, width); + mis.setAnimated(true); + imagePixelBuffer = component.createImage(mis); } public void notifyEndOfRendering() { - if (this.ic != null) - startProduction(ic); + mis.newPixels(); } Image allocateOffscreenImage(int width, int height) { return component.createImage(widthOffscreen, heightOffscreen); - } - - public synchronized void addConsumer(ImageConsumer ic) { - startProduction(ic); - } - - public boolean isConsumer(ImageConsumer ic) { - return (this.ic == ic); - } - - public void removeConsumer(ImageConsumer ic) { - if (this.ic == ic) - this.ic = null; - } - - public void requestTopDownLeftRightResend(ImageConsumer ic) { - } - - public void startProduction(ImageConsumer ic) { - if (this.ic != ic) { - this.ic = ic; - ic.setDimensions(width, height); - ic.setHints(ImageConsumer.TOPDOWNLEFTRIGHT | - ImageConsumer.COMPLETESCANLINES | - ImageConsumer.SINGLEPASS); - } - ic.setPixels(0, 0, width, height, colorModelRGB, pBuffer, 0, width); - ic.imageComplete(ImageConsumer.SINGLEFRAMEDONE); } } |