package org.xmind.core.internal;
import org.xmind.core.marker.IMarkerVariation;
public class MarkerVariation implements IMarkerVariation {
private String suffix;
private int applicableWidth;
private int applicableHeight;
public MarkerVariation(String suffix, int applicableWidth,
int applicableHeight) {
super();
this.suffix = suffix;
this.applicableWidth = applicableWidth;
this.applicableHeight = applicableHeight;
}
public String getVariedPath(String path) {
int extLength = 0;
if (path.endsWith(".png") || path.endsWith(".jpg") //$NON-NLS-1$ //$NON-NLS-2$
|| path.endsWith(".gif") || path.endsWith("bmp")) { //$NON-NLS-1$//$NON-NLS-2$
extLength = 4;
} else if (path.endsWith(".jpeg")) { //$NON-NLS-1$
extLength = 5;
}
if (extLength > 0)
return path.substring(0, path.length() - extLength) + suffix
+ path.substring(path.length() - extLength);
return path + suffix + path.substring(path.length() - extLength);
}
public boolean isApplicable(int widthHint, int heightHint) {
return widthHint <= applicableWidth && heightHint <= applicableHeight;
}
}