public ScreenImage getSelection() { if (canceled) { return null; } BufferedImage cropImg = cropSelection(); if (cropImg == null) { return null; } rectSelection.x += scrOCP.getX(); rectSelection.y += scrOCP.getY(); ScreenImage ret = new ScreenImage(rectSelection, cropImg); return ret; }
/** * create a region left of the left side with same height<br> the new region extends to the left screen border<br> use * grow() to include the current region * * @return the new region */ public Region left() { int distToLeftScreenBorder = getX() - getScreen().getX(); return left(distToLeftScreenBorder); }
@Override public void mousePressed(java.awt.event.MouseEvent e) { if (scr_img == null) { return; } if (e.getButton() != java.awt.event.MouseEvent.BUTTON1) { return; } hasStarted = true; destx = srcx = e.getX(); desty = srcy = e.getY(); if (isLocalScreen) { srcScreenId = scrOCP.getIdFromPoint(srcx, srcy); srcScreenLocation = new Location(srcx + scrOCP.getX(), srcy + scrOCP.getY()); Debug.log(3, "CapturePrompt: started at (%d,%d) as %s on %d", srcx, srcy, srcScreenLocation.toStringShort(), srcScreenId); } promptMsg = null; repaint(); }
/** * create a region right of the right side with same height. the new region extends to the right screen border<br> * use grow() to include the current region * * @return the new region */ public Region right() { int distToRightScreenBorder = getScreen().getX() + getScreen().getW() - (getX() + getW()); return right(distToRightScreenBorder); }
@Override public void mouseReleased(java.awt.event.MouseEvent e) { if (scr_img == null) { return; } if (e.getButton() != java.awt.event.MouseEvent.BUTTON1) { canceled = true; Debug.log(3, "CapturePrompt: aborted: not using left mouse button"); } else { if (isLocalScreen) { destScreenLocation = new Location(destx + scrOCP.getX(), desty + scrOCP.getY()); Debug.log(3, "CapturePrompt: finished at (%d,%d) as %s on %d", destx, desty, destScreenLocation.toStringShort(), srcScreenId); } } hasFinished = true; setVisible(false); notifyObserver(); } });