diff options
Diffstat (limited to 'openjdk/sun/awt/image/ToolkitImage.java')
-rw-r--r-- | openjdk/sun/awt/image/ToolkitImage.java | 325 |
1 files changed, 0 insertions, 325 deletions
diff --git a/openjdk/sun/awt/image/ToolkitImage.java b/openjdk/sun/awt/image/ToolkitImage.java deleted file mode 100644 index 8f882f3e..00000000 --- a/openjdk/sun/awt/image/ToolkitImage.java +++ /dev/null @@ -1,325 +0,0 @@ -/* - * Copyright (c) 1995, 2004, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package sun.awt.image; - -import java.util.Hashtable; -import java.util.Enumeration; - -import java.awt.Component; -import java.awt.Color; -import java.awt.Graphics; -import java.awt.Image; -import java.awt.image.BufferedImage; -import java.awt.image.ColorModel; -import java.awt.image.ImageProducer; -import java.awt.image.ImageConsumer; -import java.awt.image.ImageObserver; -import sun.awt.image.ImageRepresentation; - -public class ToolkitImage extends Image { - - /** - * The object which is used to reconstruct the original image data - * as needed. - */ - ImageProducer source; - - InputStreamImageSource src; - - ImageRepresentation imagerep; - - - protected ToolkitImage() { - } - - /** - * Construct an image from an ImageProducer object. - */ - public ToolkitImage(ImageProducer is) { - source = is; - if (is instanceof InputStreamImageSource) { - src = (InputStreamImageSource) is; - } - } - - public ImageProducer getSource() { - if (src != null) { - src.checkSecurity(null, false); - } - return source; - } - - private int width = -1; - private int height = -1; - private Hashtable properties; - - private int availinfo; - - /** - * Return the width of the original image source. - * If the width isn't known, then the image is reconstructed. - */ - public int getWidth() { - if (src != null) { - src.checkSecurity(null, false); - } - if ((availinfo & ImageObserver.WIDTH) == 0) { - reconstruct(ImageObserver.WIDTH); - } - return width; - } - - /** - * Return the width of the original image source. - * If the width isn't known, then the ImageObserver object will be - * notified when the data is available. - */ - public synchronized int getWidth(ImageObserver iw) { - if (src != null) { - src.checkSecurity(null, false); - } - if ((availinfo & ImageObserver.WIDTH) == 0) { - addWatcher(iw, true); - if ((availinfo & ImageObserver.WIDTH) == 0) { - return -1; - } - } - return width; - } - - /** - * Return the height of the original image source. - * If the height isn't known, then the image is reconstructed. - */ - public int getHeight() { - if (src != null) { - src.checkSecurity(null, false); - } - if ((availinfo & ImageObserver.HEIGHT) == 0) { - reconstruct(ImageObserver.HEIGHT); - } - return height; - } - - /** - * Return the height of the original image source. - * If the height isn't known, then the ImageObserver object will be - * notified when the data is available. - */ - public synchronized int getHeight(ImageObserver iw) { - if (src != null) { - src.checkSecurity(null, false); - } - if ((availinfo & ImageObserver.HEIGHT) == 0) { - addWatcher(iw, true); - if ((availinfo & ImageObserver.HEIGHT) == 0) { - return -1; - } - } - return height; - } - - /** - * Return a property of the image by name. Individual property names - * are defined by the various image formats. If a property is not - * defined for a particular image, then this method will return the - * UndefinedProperty object. If the properties for this image are - * not yet known, then this method will return null and the ImageObserver - * object will be notified later. The property name "comment" should - * be used to store an optional comment which can be presented to - * the user as a description of the image, its source, or its author. - */ - public Object getProperty(String name, ImageObserver observer) { - if (name == null) { - throw new NullPointerException("null property name is not allowed"); - } - - if (src != null) { - src.checkSecurity(null, false); - } - if (properties == null) { - addWatcher(observer, true); - if (properties == null) { - return null; - } - } - Object o = properties.get(name); - if (o == null) { - o = Image.UndefinedProperty; - } - return o; - } - - public boolean hasError() { - if (src != null) { - src.checkSecurity(null, false); - } - return (availinfo & ImageObserver.ERROR) != 0; - } - - public int check(ImageObserver iw) { - if (src != null) { - src.checkSecurity(null, false); - } - if ((availinfo & ImageObserver.ERROR) == 0 && - ((~availinfo) & (ImageObserver.WIDTH | - ImageObserver.HEIGHT | - ImageObserver.PROPERTIES)) != 0) { - addWatcher(iw, false); - } - return availinfo; - } - - public void preload(ImageObserver iw) { - if (src != null) { - src.checkSecurity(null, false); - } - if ((availinfo & ImageObserver.ALLBITS) == 0) { - addWatcher(iw, true); - } - } - - private synchronized void addWatcher(ImageObserver iw, boolean load) { - if ((availinfo & ImageObserver.ERROR) != 0) { - if (iw != null) { - iw.imageUpdate(this, ImageObserver.ERROR|ImageObserver.ABORT, - -1, -1, -1, -1); - } - return; - } - ImageRepresentation ir = getImageRep(); - ir.addWatcher(iw); - if (load) { - ir.startProduction(); - } - } - - private synchronized void reconstruct(int flags) { - if ((flags & ~availinfo) != 0) { - if ((availinfo & ImageObserver.ERROR) != 0) { - return; - } - ImageRepresentation ir = getImageRep(); - ir.startProduction(); - while ((flags & ~availinfo) != 0) { - try { - wait(); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - return; - } - if ((availinfo & ImageObserver.ERROR) != 0) { - return; - } - } - } - } - - synchronized void addInfo(int newinfo) { - availinfo |= newinfo; - notifyAll(); - } - - void setDimensions(int w, int h) { - width = w; - height = h; - addInfo(ImageObserver.WIDTH | ImageObserver.HEIGHT); - } - - void setProperties(Hashtable props) { - if (props == null) { - props = new Hashtable(); - } - properties = props; - addInfo(ImageObserver.PROPERTIES); - } - - synchronized void infoDone(int status) { - if (status == ImageConsumer.IMAGEERROR || - ((~availinfo) & (ImageObserver.WIDTH | - ImageObserver.HEIGHT)) != 0) { - addInfo(ImageObserver.ERROR); - } else if ((availinfo & ImageObserver.PROPERTIES) == 0) { - setProperties(null); - } - } - - public void flush() { - if (src != null) { - src.checkSecurity(null, false); - } - - ImageRepresentation ir; - synchronized (this) { - availinfo &= ~ImageObserver.ERROR; - ir = imagerep; - imagerep = null; - } - if (ir != null) { - ir.abort(); - } - if (src != null) { - src.flush(); - } - } - - protected ImageRepresentation makeImageRep() { - return new ImageRepresentation(this); - } - - public synchronized ImageRepresentation getImageRep() { - if (src != null) { - src.checkSecurity(null, false); - } - if (imagerep == null) { - imagerep = makeImageRep(); - } - return imagerep; - } - - public Graphics getGraphics() { - throw new UnsupportedOperationException("getGraphics() not valid for images " + - "created with createImage(producer)"); - } - -// /* this method is needed by printing code */ -// public ColorModel getColorModel() { -// ImageRepresentation imageRep = getImageRep(); -// return imageRep.getColorModel(); -// } -// - /* this method is needed by printing code */ - public BufferedImage getBufferedImage() { - ImageRepresentation imageRep = getImageRep(); - return imageRep.getBufferedImage(); - } -// -// public void setAccelerationPriority(float priority) { -// super.setAccelerationPriority(priority); -// ImageRepresentation imageRep = getImageRep(); -// imageRep.setAccelerationPriority(accelerationPriority); -// } -} |