package com.github.czyzby.lml.vis.parser.impl.attribute; import com.badlogic.gdx.scenes.scene2d.Actor; import com.github.czyzby.lml.parser.LmlParser; import com.github.czyzby.lml.parser.tag.LmlAttribute; import com.github.czyzby.lml.parser.tag.LmlTag; import com.kotcrab.vis.ui.util.BorderOwner; /** See {@link BorderOwner#setFocusBorderEnabled(boolean)}. Mapped to "focusBorder", "focusBorderEnabled". * * @author MJ */ public class FocusBorderEnabledLmlAttribute implements LmlAttribute<Actor> { @Override public Class<Actor> getHandledType() { return Actor.class; } @Override public void process(final LmlParser parser, final LmlTag tag, final Actor actor, final String rawAttributeData) { if (actor instanceof BorderOwner) { ((BorderOwner) actor).setFocusBorderEnabled(parser.parseBoolean(rawAttributeData, actor)); } else { parser.throwErrorIfStrict( "Focus border enabled attribute is available only for actors that implement BorderOwner. Found this attribute in tag of actor: " + actor); } } }