/* ISVGLoader.java (c) 2011-2016 Edward Swartz 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 */ package v9t9.video.svg; import java.awt.image.BufferedImage; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; /** * @author ejs * */ public interface ISVGLoader { boolean isSlow(); /** * Transcode and create an image from the SVG. * @param size the size to scale to, or null * @return new ImageData */ BufferedImage getImageData(Point size) throws SVGException; /** * Transcode and create an image from the SVG. * @param aoi area of interest * @param size the size to scale to, or null * @return new ImageData */ BufferedImage getImageData(Rectangle aoi, Point size) throws SVGException; Point getSize(); /** * @return */ String getURI(); /** * @return */ boolean isValid(); /** * @return */ boolean isLoaded(); }