コード例 #1
0
ファイル: RectangleAdapter.java プロジェクト: CaTaHaTa/imagej
 // drag - publish rectangle dimensions in status bar
 @Override
 public void onMouseDrag(final MsDraggedEvent evt) {
   if (evt.getButton() != MsButtonEvent.LEFT_BUTTON) return;
   final StatusService statusService = evt.getContext().getService(StatusService.class);
   final ImageDisplayService imgService = evt.getContext().getService(ImageDisplayService.class);
   final ImageDisplay imgDisp = imgService.getActiveImageDisplay();
   final IntCoords startPt = new IntCoords(anchor.x, anchor.y);
   final IntCoords endPt = new IntCoords(evt.getX() - anchor.x, evt.getY() - anchor.y);
   final RealCoords startPtModelSpace = imgDisp.getCanvas().panelToImageCoords(startPt);
   final RealCoords endPtModelSpace = imgDisp.getCanvas().panelToImageCoords(endPt);
   final int x = (int) startPtModelSpace.x;
   final int y = (int) startPtModelSpace.y;
   final int w = (int) endPtModelSpace.x;
   final int h = (int) endPtModelSpace.y;
   final String message = String.format("x=%d, y=%d, w=%d, h=%d", x, y, w, h);
   statusService.showStatus(message);
   // NB: Prevent PixelProbe from overwriting the status bar.
   evt.consume();
 }
コード例 #2
0
 /** Gets the coordinates in <em>data</em> space for the given (x, y) pixel coordinates. */
 private RealCoords getDataCoords(final Display<?> d, final int x, final int y) {
   if (!(d instanceof ImageDisplay)) return null;
   final ImageDisplay imageDisplay = (ImageDisplay) d;
   final ImageCanvas canvas = imageDisplay.getCanvas();
   return canvas.panelToDataCoords(new IntCoords(x, y));
 }