public Path(Device device, Path path, float flatness) { super(device); if (path == null) SWT.error(SWT.ERROR_NULL_ARGUMENT); if (path.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT); flatness = Math.max(0, flatness); if (flatness == 0) { handle = new NSBezierPath(path.handle.copy().id); } else { float defaultFlatness = NSBezierPath.defaultFlatness(); NSBezierPath.setDefaultFlatness(flatness); handle = path.handle.bezierPathByFlatteningPath(); NSBezierPath.setDefaultFlatness(defaultFlatness); } if (handle == null) SWT.error(SWT.ERROR_NO_HANDLES); init(); }
/** * Adds to the receiver the path described by the parameter. * * @param path the path to add to the receiver * @exception IllegalArgumentException * <ul> * <li>ERROR_NULL_ARGUMENT - if the parameter is null * <li>ERROR_INVALID_ARGUMENT - if the parameter has been disposed * </ul> * * @exception SWTException * <ul> * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed * </ul> */ public void addPath(Path path) { if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED); if (path == null) SWT.error(SWT.ERROR_NULL_ARGUMENT); if (path.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT); handle.appendBezierPath(path.handle); }