package net.onedaybeard.dominatrix.experimental.ui; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.actions.Actions; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.Skin; import com.badlogic.gdx.scenes.scene2d.ui.Table; /** * A simple notification window. */ public class NotificationHud { private Label message; private Table messageContainer; public NotificationHud(Skin skin, Stage ui) { message = new Label("", skin); messageContainer = new Table(skin); messageContainer.getColor().a = 0; messageContainer.setPosition(20, Gdx.graphics.getHeight() - messageContainer.getMaxHeight()); messageContainer.defaults().pad(5).fillX().expandX(); messageContainer.setBackground(BackgroundTexture.getDrawable()); messageContainer.row().expandX().fillX(); messageContainer.add(message); messageContainer.pack(); ui.addActor(messageContainer); } public void setText(String text) { message.setText(text); messageContainer.pack(); messageContainer.setPosition((Gdx.graphics.getWidth() - messageContainer.getWidth()) / 2, Gdx.graphics.getHeight() - messageContainer.getHeight()); messageContainer.clearActions(); messageContainer.addAction(Actions.sequence(Actions.fadeIn(0.5f), Actions.delay(3.5f), Actions.fadeOut(0.5f))); } public void setText(String format, Object... args) { setText(String.format(format, args)); } }