01: /*
02: * uDig - User Friendly Desktop Internet GIS client
03: * http://udig.refractions.net
04: * (C) 2004, Refractions Research Inc.
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: */
17: package net.refractions.udig.printing.model;
18:
19: import org.eclipse.draw2d.geometry.Dimension;
20: import org.eclipse.draw2d.geometry.Point;
21: import org.eclipse.emf.ecore.EObject;
22:
23: /**
24: * An <code>Element</code> object represents an item of the printing framework
25: * and has the following characteristics:
26: * <ul>
27: * <li>a location</li>
28: * <li>a size</li>
29: * </ul>
30: * Each object to be included in a Page must implement this interface.
31: *
32: * @author Richard Gould
33: * @since 0.3
34: * @model
35: */
36: public interface Element extends EObject {
37:
38: /**
39: * @return this element's location (x, y)
40: * @see Point
41: * @model
42: */
43: public abstract Point getLocation();
44:
45: /**
46: * Sets the value of the '{@link net.refractions.udig.printing.model.Element#getLocation <em>Location</em>}' attribute.
47: * <!-- begin-user-doc -->
48: * Sets this element's location to the provided value
49: * <!-- end-user-doc -->
50: * @param value the new value of the '<em>Location</em>' attribute.
51: * @see #getLocation()
52: * @generated
53: */
54: void setLocation(Point value);
55:
56: /**
57: * The size is calculated in pixels, and represent coordinates on a page.
58: *
59: * @return this element's size (width, height)
60: * @model
61: * @see Dimension
62: */
63: public abstract Dimension getSize();
64:
65: /**
66: * Sets the value of the '{@link net.refractions.udig.printing.model.Element#getSize <em>Size</em>}' attribute.
67: * <!-- begin-user-doc -->
68: * Set this element's size to the provided value
69: * The size is expected in pixels, and represent coordinates on the page.
70: * <!-- end-user-doc -->
71: * @param value the new value of the '<em>Size</em>' attribute.
72: * @see #getSize()
73: * @generated
74: */
75: void setSize(Dimension value);
76:
77: }
|