package com.baselet.diagram.draw.helper; import com.baselet.control.constants.FacetConstants; import com.baselet.control.enums.LineType; public class Style { private LineType lineType; private double lineWidth; private ColorOwn foregroundColor; private ColorOwn backgroundColor; private double fontSize; private boolean applyZoom; public Style() { lineWidth = FacetConstants.LINE_WIDTH_DEFAULT; lineType = LineType.SOLID; applyZoom = true; } public Style cloneFromMe() { Style clone = new Style(); clone.lineWidth = lineWidth; clone.lineType = lineType; clone.foregroundColor = foregroundColor; clone.backgroundColor = backgroundColor; clone.fontSize = fontSize; clone.applyZoom = applyZoom; return clone; } public void setLineType(LineType lineType) { this.lineType = lineType; } public LineType getLineType() { return lineType; } public void setLineWidth(double lineWidth) { this.lineWidth = lineWidth; } public double getLineWidth() { return lineWidth; } public void setForegroundColor(ColorOwn foregroundColor) { this.foregroundColor = foregroundColor; } public ColorOwn getForegroundColor() { return foregroundColor; } public void setBackgroundColor(ColorOwn backgroundColor) { this.backgroundColor = backgroundColor; } public ColorOwn getBackgroundColor() { return backgroundColor; } public void setFontSize(double fontSize) { this.fontSize = fontSize; } public double getFontSize() { return fontSize; } public void setApplyZoom(boolean applyZoom) { this.applyZoom = applyZoom; } public boolean isApplyZoom() { return applyZoom; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + (applyZoom ? 1231 : 1237); result = prime * result + (backgroundColor == null ? 0 : backgroundColor.hashCode()); result = prime * result + (foregroundColor == null ? 0 : foregroundColor.hashCode()); long temp; temp = Double.doubleToLongBits(fontSize); result = prime * result + (int) (temp ^ temp >>> 32); temp = Double.doubleToLongBits(lineWidth); result = prime * result + (int) (temp ^ temp >>> 32); result = prime * result + (lineType == null ? 0 : lineType.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } Style other = (Style) obj; if (applyZoom != other.applyZoom) { return false; } if (backgroundColor == null) { if (other.backgroundColor != null) { return false; } } else if (!backgroundColor.equals(other.backgroundColor)) { return false; } if (foregroundColor == null) { if (other.foregroundColor != null) { return false; } } else if (!foregroundColor.equals(other.foregroundColor)) { return false; } if (Double.doubleToLongBits(fontSize) != Double.doubleToLongBits(other.fontSize)) { return false; } if (Double.doubleToLongBits(lineWidth) != Double.doubleToLongBits(other.lineWidth)) { return false; } if (lineType != other.lineType) { return false; } return true; } }