/*******************************************************************************
* Copyright (c) 2000, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jface.resource;
/**
* An image descriptor is an object that knows how to create
* an SWT image. It does not hold onto images or cache them,
* but rather just creates them on demand. An image descriptor
* is intended to be a lightweight representation of an image
* that can be manipulated even when no SWT display exists.
* <p>
* This package defines a concrete image descriptor implementation
* which reads an image from a file (<code>FileImageDescriptor</code>).
* It also provides abstract framework classes (this one and
* <code>CompositeImageDescriptor</code>) which may be subclassed to define
* news kinds of image descriptors.
* </p>
* <p>
* Using this abstract class involves defining a concrete subclass
* and providing an implementation for the <code>getImageData</code>
* method.
* </p>
* <p>
* There are two ways to get an Image from an ImageDescriptor. The method
* createImage will always return a new Image which must be disposed by
* the caller. Alternatively, createResource() returns a shared
* Image. When the caller is done with an image obtained from createResource,
* they must call destroyResource() rather than disposing the Image directly.
* The result of createResource() can be safely cast to an Image.
* </p>
*
* @see org.eclipse.swt.graphics.Image
*/
public class ImageDescriptor {
private String image;
private static final ImageDescriptor missingImageDescriptor = new ImageDescriptor("missing");
public ImageDescriptor(String image) {
this.image = image;
}
public static ImageDescriptor getMissingImageDescriptor() {
return missingImageDescriptor;
}
public String getImage() {
return image;
}
}