package com.github.czyzby.lml.vis.parser.impl.tag;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.github.czyzby.lml.parser.LmlParser;
import com.github.czyzby.lml.parser.impl.tag.actor.LabelLmlTag;
import com.github.czyzby.lml.parser.impl.tag.builder.TextLmlActorBuilder;
import com.github.czyzby.lml.parser.tag.LmlActorBuilder;
import com.github.czyzby.lml.parser.tag.LmlTag;
import com.kotcrab.vis.ui.widget.VisLabel;
/** Handles {@link VisLabel} actors. Cannot have actor children. Appends plain text between tags to itself. Mapped to
* "label", "visLabel".
*
* @author MJ */
public class VisLabelLmlTag extends LabelLmlTag {
public VisLabelLmlTag(final LmlParser parser, final LmlTag parentTag, final StringBuilder rawTagData) {
super(parser, parentTag, rawTagData);
}
@Override
protected Actor getNewInstanceOfActor(final LmlActorBuilder builder) {
// Safe to cast, see super#getNewInstanceOfBuilder():
final TextLmlActorBuilder textBuilder = (TextLmlActorBuilder) builder;
return new VisLabel(textBuilder.getText(), builder.getStyleName());
}
}