/*- ******************************************************************************* * Copyright (c) 2011, 2014, 2016 Diamond Light Source Ltd. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Colin Palmer - initial API and implementation and/or initial documentation *******************************************************************************/ package org.eclipse.dawnsci.json.mixin.roi; import org.eclipse.dawnsci.analysis.api.roi.IRectangularROI; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; public abstract class IROIMixIn { @JsonProperty abstract void setPoint(double[] point); // TODO do these need to be explicitly ignored? // public void setPoint(int[] point); // public void setPoint(int x, int y); // public void setPoint(double x, double y); @JsonIgnore abstract double[] getPointRef(); @JsonProperty abstract double[] getPoint(); @JsonIgnore abstract double getPointX(); @JsonIgnore abstract double getPointY(); @JsonIgnore abstract int[] getIntPoint(); @JsonIgnore abstract void setPlot(boolean require); @JsonIgnore abstract boolean isPlot(); @JsonIgnore abstract IRectangularROI getBounds(); @JsonIgnore abstract boolean isNearOutline(double x, double y, double distance); }