cz.vutbr.web.csskit.fn.SkewImpl Maven / Gradle / Ivy
package cz.vutbr.web.csskit.fn;
import java.util.List;
import cz.vutbr.web.css.CSSFactory;
import cz.vutbr.web.css.Term;
import cz.vutbr.web.css.TermAngle;
import cz.vutbr.web.css.TermFunction;
import cz.vutbr.web.css.TermList;
import cz.vutbr.web.csskit.TermFunctionImpl;
public class SkewImpl extends TermFunctionImpl implements TermFunction.Skew {
private TermAngle skewX;
private TermAngle skewY;
public SkewImpl() {
setValid(false); //arguments are required
}
@Override
public TermAngle getSkewX() {
return skewX;
}
@Override
public TermAngle getSkewY() {
return skewY;
}
@Override
public TermList setValue(List> value)
{
super.setValue(value);
List> args = getSeparatedValues(DEFAULT_ARG_SEP, false);
if (args != null)
{
if (args.size() == 2
&& (skewX = getAngleArg(args.get(0))) != null
&& (skewY = getAngleArg(args.get(1))) != null) {
setValid(true);
} else if (size() == 1 && (skewX = getAngleArg(args.get(0))) != null) {
skewY = CSSFactory.getTermFactory().createAngle(0.0f);
setValid(true);
}
}
return this;
}
}