01: /**
02: * ===========================================
03: * JFreeReport : a free Java reporting library
04: * ===========================================
05: *
06: * Project Info: http://reporting.pentaho.org/
07: *
08: * (C) Copyright 2001-2007, by Object Refinery Ltd, Pentaho Corporation and Contributors.
09: *
10: * This library is free software; you can redistribute it and/or modify it under the terms
11: * of the GNU Lesser General Public License as published by the Free Software Foundation;
12: * either version 2.1 of the License, or (at your option) any later version.
13: *
14: * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15: * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16: * See the GNU Lesser General Public License for more details.
17: *
18: * You should have received a copy of the GNU Lesser General Public License along with this
19: * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20: * Boston, MA 02111-1307, USA.
21: *
22: * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
23: * in the United States and other countries.]
24: *
25: * ------------
26: * ImageContainer.java
27: * ------------
28: * (C) Copyright 2001-2007, by Object Refinery Ltd, Pentaho Corporation and Contributors.
29: */package org.jfree.report;
30:
31: /**
32: * A image container stores all layout information to process images in a report.
33: * <p/>
34: * The ImageContainer is the common base interface for the URLImageContainer (which references remote images) and the
35: * LocalImageContainer (which references local AWT-Image instances).
36: * <p/>
37: * All the layouting engine needs to know about images, are the image dimensions and the possible scale factor for the
38: * contained image. Only the content creators need the knowledge on how to access the contained image and and which
39: * other container types might exist.
40: *
41: * @author Thomas Morgner
42: */
43: public interface ImageContainer extends Cloneable {
44: /**
45: * Returns the unscaled width of the contained image. The width must be known during the layouting process, returning
46: * -1 to indicate an unknown size (as the AWT does) is not valid.
47: *
48: * @return the width of the image.
49: */
50: public int getImageWidth();
51:
52: /**
53: * Returns the unscaled height of the contained image. The height must be known during the layouting process,
54: * returning -1 to indicate an unknown size (as the AWT does) is not valid.
55: *
56: * @return the height of the image.
57: */
58: public int getImageHeight();
59:
60: /**
61: * Defines the image's horizontal scale. This is the factor to convert the image from it's original resolution to the
62: * java resolution of 72dpi.
63: * <p/>
64: * This is not the scale that is computed by the layouter; that one is derived from the ImageContent itself.
65: *
66: * @return the horizontal scale.
67: */
68: public float getScaleX();
69:
70: /**
71: * Defines the image's vertical scale. This is the factor to convert the image from it's original resolution to the
72: * java resolution of 72dpi.
73: * <p/>
74: * This is not the scale that is computed by the layouter; that one is derived from the ImageContent.
75: *
76: * @return the vertical scale.
77: */
78: public float getScaleY();
79: }
|