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 | } |