blob: 5299858cf5da498708cdac14045bc9a14b4902e4 [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.swt.graphics.RGB;
/**
* @author sshaw
*
* Contains information needed by RenderedImage to perform the rendering of the
* Vector graphics data.
*
* IMPORTANT: This interface is <EM>not</EM> intended to be implemented by
* clients.
* New methods may be added in the future.
*/
public interface RenderInfo {
/**
* Accessor method to return the width of the rendered image.
*
* @return the width of the rendered image.
*/
public abstract int getWidth();
/**
* Accessor method to return the height of the rendered image.
*
* @return the height of the rendered image.
*/
public abstract int getHeight();
/**
* Accessor method to return the fill color of the rendered image.
*
* @return <code>RGB</code> value that is the fill color of the rendered
* image. Note: a <code>null</code> return value is valid and
* means that the fill color defaults to the values stored in the
* vector graphics file.
*/
public abstract RGB getBackgroundColor();
/**
* Accessor method to return the outline color of the rendered image.
*
* @return <code>RGB</code> value that is the outline color of the
* rendered image. Note: a <code>null</code> return value is valid
* and means that the outline color defaults to the values stored in
* the vector graphics file.
*/
public abstract RGB getForegroundColor();
/**
* Accessor method to return whether or not the aspect ratio is maintained.
*
* @return <code>boolean</code> <code>true</code> if aspect ratio of
* original vector file is maintained, <code>false</code>
* otherwise.
*/
public abstract boolean shouldMaintainAspectRatio();
/**
* Accessor method to return whether or not the vector data is anti-aliased.
*
* @return <code>boolean</code> <code>true</code> if vector graphic is
* to be rendered wih anti-aliasing, <code>false</code> otherwise.
*/
public abstract boolean shouldAntiAlias();
/**
* Generic setter to set values in the RenderInfo data structure. This is
* useful when retrieving a RenderInfo structure from a RenderedImage object
* and then wishing to re-render the image with new values.
*
* @param width
* the width of the rendered image to set
* @param height
* the height of the rendered image to set
* @param maintainAspectRatio
* <code>boolean</code> <code>true</code> if aspect ratio of
* original vector file is maintained, <code>false</code>
* otherwise
* @param antialias
* <code>boolean</code> <code>true</code> if vector graphic
* is to be rendered wih anti-aliasing, <code>false</code>
* otherwise.
* @param background
* <code>Color</code> fill color for the whole image: null
* value defaults to stored values for each element in the vector
* file.
* @param outline
* <code>Color</code> outline color for the whole image: null
* value defaults to stored foreground for each element in the
* vector file.
*/
public abstract void setValues(int width, int height,
boolean maintainAspectRatio, boolean antialias, RGB background,
RGB foreground);
}