
org.eclipse.swtchart.internal.compress.CompressConfig Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rwtchart Show documentation
Show all versions of rwtchart Show documentation
NetXMS fork of SWT Chart Library for RWT
The newest version!
/*******************************************************************************
* Copyright (c) 2008, 2019 SWTChart project.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* yoshitaka - initial API and implementation
* Frank Buloup - Internationalization
*******************************************************************************/
package org.eclipse.swtchart.internal.compress;
/**
* Configuration for compression.
*/
public class CompressConfig {
/** the width in pixels */
private long widthInPixels;
/** the height in pixels */
private long heightInPixels;
/** the lower value of X range */
private double xLowerValue;
/** the upper value of X range */
private double xUpperValue;
/** the lower value of Y range */
private double yLowerValue;
/** the upper value of Y range */
private double yUpperValue;
/** the state indicating whether the X axis is log scale */
private boolean xLogScale;
/** the state indicating whether the Y axis is log scale */
private boolean yLogScale;
/**
* Constructor.
*/
public CompressConfig() {
widthInPixels = 1024;
heightInPixels = 512;
xLogScale = false;
yLogScale = false;
}
/**
* Constructor.
*
* @param config
* the configuration for compression
*/
public CompressConfig(CompressConfig config) {
widthInPixels = config.getWidthInPixel();
heightInPixels = config.getHeightInPixel();
xLowerValue = config.getXLowerValue();
xUpperValue = config.getXUpperValue();
yLowerValue = config.getYLowerValue();
yUpperValue = config.getYUpperValue();
xLogScale = config.isXLogScale();
yLogScale = config.isYLogScale();
}
@Override
public boolean equals(Object obj) {
if(obj == null || !(obj instanceof CompressConfig)) {
return false;
}
CompressConfig config = (CompressConfig)obj;
if(widthInPixels != config.getWidthInPixel() || heightInPixels != config.getHeightInPixel()) {
return false;
}
double diff = Math.abs(xLowerValue - config.getXLowerValue()) / (xUpperValue - xLowerValue);
if(diff > 1.0 / widthInPixels) {
return false;
}
diff = Math.abs(xUpperValue - config.getXUpperValue()) / (xUpperValue - xLowerValue);
if(diff > 1.0 / widthInPixels) {
return false;
}
diff = Math.abs(yLowerValue - config.getYLowerValue()) / (yUpperValue - yLowerValue);
if(diff > 1.0 / heightInPixels) {
return false;
}
diff = Math.abs(yUpperValue - config.getYUpperValue()) / (yUpperValue - yLowerValue);
if(diff > 1.0 / heightInPixels) {
return false;
}
if(config.isXLogScale() != xLogScale) {
return false;
}
if(config.isYLogScale() != yLogScale) {
return false;
}
return true;
}
@Override
public int hashCode() {
return 0;
}
/**
* Sets the size in pixels.
*
* @param width
* the width in pixels
* @param height
* the height in pixels
*/
public void setSizeInPixel(long width, long height) {
widthInPixels = width;
heightInPixels = height;
}
/**
* Gets the width of plot area in pixels
*
* @return the width of plot area in pixels
*/
public long getWidthInPixel() {
return widthInPixels;
}
/**
* Gets the height of plot area in pixels
*
* @return the height of plot area in pixels
*/
public long getHeightInPixel() {
return heightInPixels;
}
/**
* Sets the X range.
*
* @param lower
* the lower value of x range
* @param upper
* the upper value of x range
*/
public void setXRange(double lower, double upper) {
xLowerValue = lower;
xUpperValue = upper;
}
/**
* Sets the Y range.
*
* @param lower
* the lower value of y range
* @param upper
* the upper value of y range
*/
public void setYRange(double lower, double upper) {
yLowerValue = lower;
yUpperValue = upper;
}
/**
* Gets the lower value of x range.
*
* @return the lower value of x range
*/
public double getXLowerValue() {
return xLowerValue;
}
/**
* Gets the upper value of x range.
*
* @return the upper value of x range
*/
public double getXUpperValue() {
return xUpperValue;
}
/**
* Gets the lower value of y range.
*
* @return the lower value of y range
*/
public double getYLowerValue() {
return yLowerValue;
}
/**
* Gets the upper value of y range.
*
* @return the upper value of y range
*/
public double getYUpperValue() {
return yUpperValue;
}
/**
* Gets the state indicating whether the X axis is log scale.
*
* @return true if the X axis is log scale
*/
public boolean isXLogScale() {
return xLogScale;
}
/**
* Sets the state indicating whether the X axis is log scale.
*
* @param value
* the state indicating whether the X axis is log scale
*/
public void setXLogScale(boolean value) {
this.xLogScale = value;
}
/**
* Gets the state indicating whether the Y axis is log scale.
*
* @return true if the Y axis is log scale
*/
public boolean isYLogScale() {
return yLogScale;
}
/**
* Sets the state indicating whether the Y axis is log scale.
*
* @param value
* the state indicating whether the Y axis is log scale
*/
public void setYLogScale(boolean value) {
this.yLogScale = value;
}
@Override
public String toString() {
return "pixelWidth = " + widthInPixels + ", " + "pixelHeight = " + heightInPixels + ", " + "xLowerValue = " + xLowerValue + ", " + "xUpperValue = " + xUpperValue + ", " + "yLowerValue = " + yLowerValue + ", " + "yUpperValue = " + yUpperValue + ", " + yLogScale; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy