Revision 19224 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/toolselectrgb/SelectRGBListener.java

View differences:

SelectRGBListener.java
19 19
package org.gvsig.rastertools.toolselectrgb;
20 20

  
21 21
import java.awt.geom.Point2D;
22
import java.awt.geom.Rectangle2D;
23 22
import java.awt.image.BufferedImage;
24 23

  
25 24
import com.iver.andami.PluginServices;
26 25
import com.iver.cit.gvsig.fmap.MapControl;
27 26
import com.iver.cit.gvsig.fmap.tools.SelectImageListenerImpl;
28 27
import com.iver.cit.gvsig.fmap.tools.Events.PointEvent;
29
import com.iver.cit.gvsig.project.documents.view.gui.IView;
30
import com.iver.cit.gvsig.project.documents.view.gui.View;
31 28
/**
32 29
 * Extensi?n de la clase SelectImageListenerImple de FMap. Esta clase permite
33 30
 * capturar el evento de la selecci?n de un punto RGB sobre la vista
34 31
 * 
35
 * @author Nacho Brodin (nachobrodin@gmail.com)
32
 * 22/02/2008
33
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
36 34
 */
37 35
public class SelectRGBListener extends SelectImageListenerImpl {
36
	private ISelectRGB selectRGB;
38 37

  
39
	Rectangle2D 		extentLayer = null;
40 38
	/**
41 39
	 * Contructor
42 40
	 * @param mapCtrl
43 41
	 */
44
	public SelectRGBListener(MapControl mapCtrl) {
42
	public SelectRGBListener(MapControl mapCtrl, ISelectRGB selectRGB) {
45 43
		super(mapCtrl);
44
		this.selectRGB = selectRGB;
46 45
	}
47 46

  
48 47
	/* (non-Javadoc)
......
51 50
	public void point(PointEvent event) {
52 51
		super.point(event);
53 52

  
54
		Point2D pointSelect = event.getPoint();
53
		Point2D point2D = event.getPoint();
55 54

  
56 55
		if (PluginServices.getMainFrame() != null)
57 56
			PluginServices.getMainFrame().enableControls();
58 57

  
59
		int[] argb = { -1, -1, -1, -1 };
60
		BufferedImage buf = null;
61
		View theView = (View) PluginServices.getMDIManager().getActiveWindow();
62
		if (theView instanceof IView) {
63
			buf = ((IView) theView).getMapControl().getImage();
64
			int value = buf
65
					.getRGB((int) pointSelect.getX(), (int) pointSelect.getY());
66
			argb[0] = ((value & 0xff000000) >> 24);
67
			argb[1] = ((value & 0x00ff0000) >> 16);
68
			argb[2] = ((value & 0x0000ff00) >> 8);
69
			argb[3] = (value & 0x000000ff);
70
		}
71
		System.out.println(argb[0] + " " + argb[1] + " " + argb[2]);
58
		BufferedImage image = mapCtrl.getImage();
59
		int value = image.getRGB((int) point2D.getX(), (int) point2D.getY());
60
		int r = (value >> 16) & 0xff;
61
		int g = (value >> 8) & 0xff;
62
		int b = value & 0xff;
63
		
64
		selectRGB.actionRGBSelected(r, g, b);
72 65
	}
73 66
}

Also available in: Unified diff