package jalview.util.imagemaker; import jalview.bin.Cache; public class BitmapImageSizing { private final float scale; private final int width; private final int height; private boolean isDefault = false; public BitmapImageSizing(float scale, int width, int height, boolean isDefault) { this.scale = scale; this.width = width; this.height = height; this.isDefault = isDefault; } public boolean isNull() { return scale == 0.0f && width == 0 && height == 0; } public static BitmapImageSizing nullBitmapImageSizing() { return new BitmapImageSizing(0.0f, 0, 0, false); } public static final String BITMAP_SCALE = "BITMAP_SCALE"; public static final String BITMAP_HEIGHT = "BITMAP_HEIGHT"; public static final String BITMAP_WIDTH = "BITMAP_WIDTH"; /** * * @return bean configured from Cache keys */ public static BitmapImageSizing defaultBitmapImageSizing() { return new BitmapImageSizing(0f, 0, 0, true); } private float defaultScale() { return Cache.getDefault(BITMAP_SCALE, 0f); } private int defaultWidth() { return Cache.getDefault(BITMAP_WIDTH, 0); } private int defaultHeight() { return Cache.getDefault(BITMAP_HEIGHT, 0); } public float scale() { return isDefault() ? defaultScale() : scale; } public int width() { return isDefault() ? defaultWidth() : width; } public int height() { return isDefault() ? defaultHeight() : height; } public boolean isDefault() { return isDefault; } }