Statistics
| Revision:

svn-gvsig-desktop / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / gui / layout / fframes / IFFrame.java @ 312

History | View | Annotate | Download (5.57 KB)

1 312 fernando
/*
2
 * Created on 20-feb-2004
3
 *
4
 * To change the template for this generated file go to
5
 * Window>Preferences>Java>Code Generation>Code and Comments
6
 */
7
package com.iver.cit.gvsig.gui.layout.fframes;
8
9
import com.iver.utiles.XMLEntity;
10
11
import java.awt.Cursor;
12
import java.awt.Graphics2D;
13
import java.awt.geom.AffineTransform;
14
import java.awt.geom.Point2D;
15
import java.awt.geom.Rectangle2D;
16
import java.awt.image.BufferedImage;
17
18
19
/**
20
 * Interface que implementa FFrame.
21
 *
22
 * @author Vicente Caballero Navarro
23
 */
24
public interface IFFrame {
25
    /**
26
     * Devuelve el boundingBox del fframe en funci?n de la transformada af?n
27
     * que se pasa como par?metro. Si se pasa como par?metro null, devuelve el
28
     * ?ltimo boundingbox que se calcul?.
29
     *
30
     * @param at Transformada af?n
31
     *
32
     * @return Rect?ngulo que representa el BoundingBox del fframe.
33
     */
34
    public Rectangle2D.Double getBoundingBox(AffineTransform at);
35
36
    /**
37
     * Devuelve el rect?ngulo que representa el fframe en cent?metros.
38
     *
39
     * @return Rect?ngulo en centimetros.
40
     */
41
    public Rectangle2D.Double getBoundBox();
42
43
    /**
44
     * Rellena con el rect?ngulo que se pasa como par?metro el boundBox(en
45
     * cent?metros) del fframe del cual con una transformaci?n se podr?
46
     * calcular el BoundingBox (en pixels).
47
     *
48
     * @param r Rect?ngulo en cent?metros.
49
     */
50
    public void setBoundBox(Rectangle2D.Double rect);
51
52
    /**
53
     * Devuelve el rect?ngulo del fframe en pixels a partir  de un rect?ngulo
54
     * como par?metro de entrada en cent?metros.
55
     *
56
     * @param r Rect?ngulo en cent?metros.
57
     * @param at Transformada af?n
58
     */
59
60
    /* public Rectangle2D.Double fromSheetRect(Rectangle2D.Double r,
61
       AffineTransform at);
62
     */
63
64
    /**
65
     * Este m?todo se implementa en cada una de las fframe, ya que cada una se
66
     * dibuja de una forma diferente sobre el graphics. M?todo que dibuja
67
     * sobre el graphics que se le pasa como par?metro, seg?n la transformada
68
     * afin que se debe de aplicar y el rect?ngulo que se debe de dibujar.
69
     *
70
     * @param g Graphics
71
     * @param at Transformada afin.
72
     * @param r rect?ngulo sobre el que hacer un clip.
73
     * @param imgBase TODO
74
     */
75
    public void draw(Graphics2D g, AffineTransform at, Rectangle2D r,
76
        BufferedImage imgBase);
77
78
    /**
79
     * Devuelve el nombre que representa al fframe.
80
     *
81
     * @return String
82
     */
83
    public String getName();
84
85
    /**
86
     * Rellena el String que representa al nombre del fframe.
87
     *
88
     * @param n nombre del fframe.
89
     */
90
    public void setName(String n);
91
92
    /**
93
     * Devuelve true, si el punto que se pasa como par?metro esta contenido
94
     * dentro del boundingbox del fframe.
95
     *
96
     * @param p punto a comprobar.
97
     *
98
     * @return true si el punto esta dentro del boundingbox.
99
     */
100
    public boolean contains(Point2D.Double p);
101
102
    /**
103
     * Dibuja los handlers sobre el boundingBox en el graphics que se pasa como
104
     * par?metro.
105
     *
106
     * @param g Graphics sobre el que dibujar.
107
     */
108
    public void drawHandlers(Graphics2D g);
109
110
    /**
111
     * Pasando como par?metro true,  se toma como que esta seleccionado el
112
     * fframe  y si es false como que esta sin seleccionar,  de esta forma se
113
     * selecciona un fframe directamente  sin comprobar si un punto esta
114
     * contenido en ?l.
115
     *
116
     * @param b true si se quiere seleccionar y false si se quiere
117
     *        deseleccionar.
118
     */
119
    public void setSelected(Point2D.Double b);
120
121
    /**
122
     * Establece que tipo de selecci?n se realiza sobre el fframe.
123
     *
124
     * @param p punto sobre el que se debe de establecer si se selecciona o no
125
     *        el fframe.
126
     */
127
    public void setSelected(boolean b);
128
129
    /**
130
     * Devuelve un entero que representa el tipo de selecci?n que se ha
131
     * realizado sobre el fframe.
132
     *
133
     * @return tipo de selecci?n que se ha realizado.
134
     */
135
    public int getSelected();
136
137
    /**
138
     * Devuelve un entero que representa donde esta contenido el punto que se
139
     * pasa como par?metro.
140
     *
141
     * @param p punto a comparar.
142
     *
143
     * @return entero que representa como esta contenido el punto.
144
     */
145
    public int getContains(Point2D.Double p);
146
147
    /**
148
     * Devuelve el Cursor adecuado seg?n como est? contenido el punto, si es
149
     * para desplazamiento, o cambio de tama?o.
150
     *
151
     * @param p punto a comprobar.
152
     *
153
     * @return Cursor adecuado a la posici?n.
154
     */
155
    public Cursor getMapCursor(Point2D.Double p);
156
157
    /**
158
     * Devuelve el rect?ngulo a partir del desplazamiento en el eje x y el
159
     * desplazamiento en el eje y.
160
     *
161
     * @param difx desplazamiento sobre el eje x.
162
     * @param dify desplazamiento sobre el eje y.
163
     *
164
     * @return rect?ngulo modificado en funci?n del desplazamiento realizado.
165
     */
166
    public Rectangle2D getMovieRect(int difx, int dify);
167
168
    /**
169
     * Devuelve un Objeto XMLEntity con la informaci?n los atributos
170
     * necesarios para poder despu?s volver a crear el objeto original.
171
     *
172
     * @return XMLEntity.
173
     */
174
    public XMLEntity getXMLEntity();
175
176
    /**
177
     * Dibuja un rect?ngulo de color gris,  con el nombre en el centro y
178
     * escalado en forma de borrador.
179
     *
180
     * @param g Graphics sobre el que se dibuja.
181
     */
182
    public void drawDraft(Graphics2D g);
183
184
    /**
185
     * Actualiza el rect?ngulo que representa al FFrame.
186
     *
187
     * @param at Matriz de transformaci?n.
188
     */
189
    public void updateRect(Rectangle2D r,AffineTransform at);
190
        public boolean intersects(Rectangle2D rv,Rectangle2D r);
191
        public void updateNum();
192
        public int getNum();
193
}