blob: bcef02a17c4304972f15407db4046ab659df1e18 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2002, 2006 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.gmf.runtime.draw2d.ui.render;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.swt.graphics.Image;
/**
* Interface to allow dynamic resizing of an Image.
*
* IMPORTANT: This interface is <EM>not</EM> intended to be implemented by
* clients.
* New methods may be added in the future.
*
* @author sshaw
*/
public interface RenderedImage extends IAdaptable {
/**
* Accessor method to return information about the rendered image.
*
* @return RenderInfo object that contains information about the rendered
* image.
*/
public RenderInfo getRenderInfo();
/**
* Retrieves an equivalent image of the specified size as specified through
* the parameters.
*
* @param info
* <code>RenderInfo</code> object containing information about
* the size and general data regarding how the image will be
* rendered.
* @return <code>RenderedImage</code> which is the equivalent image of the
* source based on the requested <code>RenderInfo</code>
* information source.
*
* @see org.eclipse.gmf.runtime.draw2d.ui.render.RenderInfo
*/
public RenderedImage getNewRenderedImage(RenderInfo info);
/**
* Accessor for retrieving the SWT image for this ResizableImage. Typically,
* this accessor should implemented for dynamic rendering of the image to an
* SWT image. This avoid storing the heavy weight image buffer in memory
* until it is needed.
*
* @return SWT Image that this <code>RenderedImage</code> represents.
*/
public Image getSWTImage();
/**
* @return <code>true</code> if image has been fully rendered, <code>false</code> if
* it needs to be rendered.
*/
public boolean isRendered();
}