@Override public boolean setSelectStatus(int x, int y) { selectStatus = SelectOptions.NONE; xTemp = x; yTemp = y; // check for text if (attrib != null) { for (int j = 0; j < attrib.size(); j++) { ObjAttribute s = attrib.get(j); s.unselect(); } for (int i = 0; i < attrib.size(); i++) { ObjAttribute s = attrib.get(i); if (s.setSelectStatus(x, y)) { selectStatus = SelectOptions.TXT; break; } } } if (selectStatus != SelectOptions.TXT) { // check control points if (!stub) { if (startCtrlPt.getX() - x <= 3 && startCtrlPt.getX() - x >= -3 && startCtrlPt.getY() - y <= 3 && startCtrlPt.getY() - y >= -3) selectStatus = SelectOptions.STARTCTRL; if (endCtrlPt.getX() - x <= 3 && endCtrlPt.getX() - x >= -3 && endCtrlPt.getY() - y <= 3 && endCtrlPt.getY() - y >= -3) selectStatus = SelectOptions.ENDCTRL; if (endPt.getX() - x <= 3 && endPt.getX() - x >= -3 && endPt.getY() - y <= 3 && endPt.getY() - y >= -3) selectStatus = SelectOptions.END; if (pageSC.getX() - x <= 3 && pageSC.getX() - x >= -3 && pageSC.getY() - y <= 3 && pageSC.getY() - y >= -3) selectStatus = SelectOptions.PAGESC; if (pageEC.getX() - x <= 3 && pageEC.getX() - x >= -3 && pageEC.getY() - y <= 3 && pageEC.getY() - y >= -3) selectStatus = SelectOptions.PAGEEC; if (pageE.getX() - x <= 3 && pageE.getX() - x >= -3 && pageE.getY() - y <= 3 && pageE.getY() - y >= -3) selectStatus = SelectOptions.PAGEE; // check page connecter icon if (pageS.getX() - x <= 0 && pageS.getX() - x >= -40 && pageS.getY() - y <= 10 && pageS.getY() - y >= -10) selectStatus = SelectOptions.PAGES; if (pageE.getX() - x <= 40 && pageE.getX() - x >= 0 && pageE.getY() - y <= 10 && pageE.getY() - y >= -10) selectStatus = SelectOptions.PAGEE; } if (startPt.getX() - x <= 3 && startPt.getX() - x >= -3 && startPt.getY() - y <= 3 && startPt.getY() - y >= -3) selectStatus = SelectOptions.START; if (pageS.getX() - x <= 3 && pageS.getX() - x >= -3 && pageS.getY() - y <= 3 && pageS.getY() - y >= -3) selectStatus = SelectOptions.PAGES; // if not a control point, search around line if (selectStatus == SelectOptions.NONE) { /* * for(int i = -4; i < 5; i++) * { * for(int j = -4; j < 5; j++) * { * if(curve.contains(x+i,y+j)) * { * selectStatus = 5; * break; * } * } * } */ BasicStroke bs = new BasicStroke(10); // sets width of transition // "grab handle" lines if (!stub) { if (bs.createStrokedShape(curve).contains(new Point2D.Double(x, y))) selectStatus = SelectOptions.BR; } else { if (bs.createStrokedShape(new Line2D.Double(startPt, pageS)) .contains(new Point2D.Double(x, y))) selectStatus = SelectOptions.BR; } } } if (selectStatus == SelectOptions.NONE) return false; else return true; }