package wordcloud.font.scale; /** * Created by kenny on 6/30/14. */ public class LinearFontScalar implements FontScalar { private int minFont; private int maxFont; public LinearFontScalar(int minFont, int maxFont) { this.minFont = minFont; this.maxFont = maxFont; } @Override public float scale(int value, int minValue, int maxValue) { float leftSpan = maxValue - minValue; float rightSpan = maxFont - minFont; // Convert the left range into a 0-1 range float valueScaled = (value - minValue) / leftSpan; // Convert the 0-1 range into a value in the right range. return (minFont + (valueScaled * rightSpan)); } @Override public void reduceBy(int n) { minFont -= n; maxFont -= n; } }