use of com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle in project libgdx by libgdx.
the class Window method setStyle.
public void setStyle(WindowStyle style) {
if (style == null)
throw new IllegalArgumentException("style cannot be null.");
this.style = style;
setBackground(style.background);
titleLabel.setStyle(new LabelStyle(style.titleFont, style.titleFontColor));
invalidateHierarchy();
}
use of com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle in project libgdx by libgdx.
the class GwtTestWrapper method create.
@Override
public void create() {
Gdx.app.setLogLevel(Application.LOG_DEBUG);
Gdx.app.log("GdxTestGwt", "Setting up for " + tests.length + " tests.");
ui = new Stage();
skin = new Skin(Gdx.files.internal("data/uiskin.json"));
font = new BitmapFont(Gdx.files.internal("data/arial-15.fnt"), false);
container = new Table();
ui.addActor(container);
container.debug();
Table table = new Table();
ScrollPane scroll = new ScrollPane(table);
container.add(scroll).expand().fill();
table.pad(10).defaults().expandX().space(4);
Arrays.sort(tests, new Comparator<Instancer>() {
@Override
public int compare(Instancer o1, Instancer o2) {
return o1.instance().getClass().getName().compareTo(o2.instance().getClass().getName());
}
});
for (final Instancer instancer : tests) {
table.row();
TextButton button = new TextButton(instancer.instance().getClass().getName(), skin);
button.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
((InputWrapper) Gdx.input).multiplexer.removeProcessor(ui);
test = instancer.instance();
Gdx.app.log("GdxTestGwt", "Clicked on " + test.getClass().getName());
test.create();
test.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
}
});
table.add(button).expandX().fillX();
}
container.row();
container.add(new Label("Click on a test to start it, press ESC to close it.", new LabelStyle(font, Color.WHITE))).pad(5, 5, 5, 5);
Gdx.input = new InputWrapper(Gdx.input) {
@Override
public boolean keyUp(int keycode) {
if (keycode == Keys.ESCAPE) {
if (test != null) {
Gdx.app.log("GdxTestGwt", "Exiting current test.");
dispose = true;
}
}
return false;
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
if (screenX < Gdx.graphics.getWidth() / 10.0 && screenY < Gdx.graphics.getHeight() / 10.0) {
if (test != null) {
dispose = true;
}
}
return false;
}
};
((InputWrapper) Gdx.input).multiplexer.addProcessor(ui);
Gdx.app.log("GdxTestGwt", "Test picker UI setup complete.");
}
use of com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle in project skin-composer by raeleus.
the class DialogFonts method fontNameDialog.
private void fontNameDialog(Array<FileHandle> files, int index) {
if (index < files.size) {
try {
final FileHandle fileHandle = files.get(index);
final TextField textField = new TextField(FontData.filter(fileHandle.nameWithoutExtension()), getSkin());
final Dialog nameDialog = new Dialog("Enter a name...", getSkin(), "bg") {
@Override
protected void result(Object object) {
if ((Boolean) object) {
String name = textField.getText();
addFont(name, fileHandle);
}
}
@Override
public boolean remove() {
fontNameDialog(files, index + 1);
return super.remove();
}
};
nameDialog.getTitleTable().padLeft(5.0f);
nameDialog.button("OK", true);
nameDialog.button("Cancel", false);
nameDialog.getButtonTable().getCells().first().getActor().addListener(main.getHandListener());
nameDialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener());
final TextButton button = (TextButton) nameDialog.getButtonTable().getCells().first().getActor();
nameDialog.getButtonTable().padBottom(15.0f);
textField.setTextFieldListener((TextField textField1, char c) -> {
if (c == '\n') {
if (!button.isDisabled()) {
String name1 = textField1.getText();
if (addFont(name1, fileHandle)) {
nameDialog.hide();
}
}
main.getStage().setKeyboardFocus(textField1);
}
});
textField.addListener(main.getIbeamListener());
nameDialog.getContentTable().defaults().padLeft(10.0f).padRight(10.0f).padTop(5.0f);
nameDialog.text("Please enter a name for the new font: ");
nameDialog.getContentTable().row();
nameDialog.getContentTable().add(textField).growX();
nameDialog.getContentTable().row();
nameDialog.text("Preview:");
nameDialog.getContentTable().row();
LabelStyle previewStyle = new LabelStyle();
previewStyle.font = new BitmapFont(fileHandle);
Table table = new Table(getSkin());
table.setBackground("white");
BitmapFontData bitmapFontData = new BitmapFontData(fileHandle, false);
if (Utils.brightness(Utils.averageEdgeColor(new FileHandle(bitmapFontData.imagePaths[0]))) > .5f) {
table.setColor(Color.BLACK);
} else {
table.setColor(Color.WHITE);
}
table.add(new Label("Lorem Ipsum", previewStyle)).pad(5.0f);
nameDialog.getContentTable().add(table);
nameDialog.key(Keys.ESCAPE, false);
button.setDisabled(!FontData.validate(textField.getText()));
textField.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
boolean disable = !FontData.validate(textField.getText());
if (!disable) {
for (FontData data : main.getJsonData().getFonts()) {
if (data.getName().equals(textField.getText())) {
disable = true;
break;
}
}
}
button.setDisabled(disable);
}
});
nameDialog.setColor(1.0f, 1.0f, 1.0f, 0.0f);
textField.setFocusTraversal(false);
if (!Utils.doesImageFitBox(new FileHandle(bitmapFontData.imagePaths[0]), maxTextureWidth, maxTextureHeight)) {
showAddFontSizeError(fileHandle.nameWithoutExtension());
} else {
nameDialog.show(getStage());
getStage().setKeyboardFocus(textField);
textField.selectAll();
}
} catch (Exception e) {
Gdx.app.error(getClass().getName(), "Error creating preview font from file", e);
main.getDialogFactory().showDialogError("Preview Error...", "Error creating preview font from file. Check file paths.\n\nOpen log?");
}
} else {
// after all fonts are processed
if (main.getProjectData().areResourcesRelative()) {
main.getProjectData().makeResourcesRelative();
}
}
}
use of com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle in project skin-composer by raeleus.
the class DialogFonts method refreshTable.
public void refreshTable() {
fontsTable.clear();
fontsTable.defaults().growX().pad(5.0f);
if (fonts.size == 0 && freeTypeFonts.size == 0) {
fontsTable.add(new Label("No fonts have been set!", getSkin()));
} else {
if (fonts.size > 0) {
Label label = new Label("Bitmap Fonts", getSkin(), "required");
label.setAlignment(Align.center);
fontsTable.add(label);
fontsTable.row();
}
for (FontData font : fonts) {
Button button = new Button(getSkin(), "color-base");
Label label = new Label(font.getName(), getSkin());
label.setTouchable(Touchable.disabled);
button.add(label).left();
button.addListener(main.getHandListener());
Button renameButton = new Button(getSkin(), "settings-small");
renameButton.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
renameDialog(font);
event.setBubbles(false);
}
});
renameButton.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
event.setBubbles(false);
return true;
}
});
button.add(renameButton).padLeft(15.0f);
TextTooltip toolTip = new TextTooltip("Rename Font", main.getTooltipManager(), getSkin());
renameButton.addListener(toolTip);
LabelStyle style = new LabelStyle();
style.font = fontMap.get(font);
style.fontColor = Color.WHITE;
label = new Label("Lorem Ipsum", style);
label.setAlignment(Align.center);
label.setTouchable(Touchable.disabled);
Table bg = new Table(getSkin());
bg.setBackground("white");
BitmapFontData bf = new BitmapFontData(font.file, false);
if (bf.imagePaths.length > 0) {
FileHandle file = new FileHandle(bf.imagePaths[0]);
if (!file.exists()) {
file = bf.fontFile.sibling(bf.fontFile.nameWithoutExtension() + ".png");
}
if (Utils.brightness(Utils.averageEdgeColor(file)) < .5f) {
bg.setColor(Color.WHITE);
} else {
bg.setColor(Color.BLACK);
}
}
bg.add(label).pad(5.0f).grow();
button.add(bg).padLeft(15).growX();
Button closeButton = new Button(getSkin(), "delete-small");
final FontData deleteFont = font;
closeButton.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
fonts.removeValue(deleteFont, true);
main.getProjectData().setChangesSaved(false);
BitmapFontData bitmapFontData = new BitmapFontData(deleteFont.file, false);
for (String path : bitmapFontData.imagePaths) {
FileHandle imagefile = new FileHandle(path);
drawables.removeValue(new DrawableData(imagefile), false);
}
for (Array<StyleData> datas : main.getJsonData().getClassStyleMap().values()) {
for (StyleData data : datas) {
for (StyleProperty property : data.properties.values()) {
if (property != null && property.type.equals(BitmapFont.class) && property.value != null && property.value.equals(deleteFont.getName())) {
property.value = null;
}
}
}
}
main.getUndoableManager().clearUndoables();
main.getRootTable().refreshStyleProperties(true);
main.getRootTable().refreshPreview();
event.setBubbles(false);
refreshTable();
}
});
closeButton.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
event.setBubbles(false);
return true;
}
});
button.add(closeButton).padLeft(5.0f).right();
toolTip = new TextTooltip("Delete Font", main.getTooltipManager(), getSkin());
closeButton.addListener(toolTip);
if (styleProperty == null && customProperty == null) {
button.setTouchable(Touchable.childrenOnly);
} else {
final FontData fontResult = font;
button.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
result(fontResult);
hide();
}
});
}
fontsTable.add(button);
fontsTable.row();
}
if (freeTypeFonts.size > 0) {
Label label = new Label("FreeType Fonts", getSkin(), "required");
label.setAlignment(Align.center);
fontsTable.add(label).spaceTop(20.0f);
fontsTable.row();
}
for (FreeTypeFontData font : freeTypeFonts) {
Button button = new Button(getSkin(), "color-base");
Label label = new Label(font.name, getSkin());
label.setTouchable(Touchable.disabled);
button.add(label).left();
button.addListener(main.getHandListener());
Button renameButton = new Button(getSkin(), "settings-small");
renameButton.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
freeTypeSettingsDialog(font);
event.setBubbles(false);
}
});
renameButton.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
event.setBubbles(false);
return true;
}
});
button.add(renameButton).padLeft(15.0f);
TextTooltip toolTip = new TextTooltip("Rename Font", main.getTooltipManager(), getSkin());
renameButton.addListener(toolTip);
LabelStyle style = new LabelStyle();
style.font = font.bitmapFont;
style.fontColor = Color.WHITE;
label = new Label("Lorem Ipsum", style);
label.setAlignment(Align.center);
label.setTouchable(Touchable.disabled);
Table bg = new Table(getSkin());
bg.setBackground("white");
bg.add(label).pad(5.0f).grow();
button.add(bg).padLeft(15).growX();
Button closeButton = new Button(getSkin(), "delete-small");
final FreeTypeFontData deleteFont = font;
closeButton.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
freeTypeFonts.removeValue(deleteFont, true);
main.getProjectData().setChangesSaved(false);
for (Array<StyleData> datas : main.getJsonData().getClassStyleMap().values()) {
for (StyleData data : datas) {
for (StyleProperty property : data.properties.values()) {
if (property != null && property.type.equals(BitmapFont.class) && property.value != null && property.value.equals(deleteFont.name)) {
property.value = null;
}
}
}
}
main.getUndoableManager().clearUndoables();
main.getRootTable().refreshStyleProperties(true);
main.getRootTable().refreshPreview();
event.setBubbles(false);
refreshTable();
}
});
closeButton.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
event.setBubbles(false);
return true;
}
});
button.add(closeButton).padLeft(5.0f).right();
toolTip = new TextTooltip("Delete Font", main.getTooltipManager(), getSkin());
closeButton.addListener(toolTip);
if (styleProperty == null && customProperty == null) {
button.setTouchable(Touchable.childrenOnly);
} else {
final FreeTypeFontData fontResult = font;
button.addListener(new ChangeListener() {
@Override
public void changed(ChangeListener.ChangeEvent event, Actor actor) {
result(fontResult);
hide();
}
});
}
fontsTable.add(button);
fontsTable.row();
}
}
}
use of com.badlogic.gdx.scenes.scene2d.ui.Label.LabelStyle in project Eidolons by IDemiurge.
the class MapDatePanel method init.
private void init() {
this.date = TimeMaster.getDate();
if (date == null) {
return;
}
LabelStyle style = StyleHolder.getSizedLabelStyle(FONT.AVQ, 18);
firstLabel = new Label(getFirstLabelText(), style);
secondLabel = new Label(getSecondLabelText(), style);
// defaults().space(10).width(getWidth() / 3);
add(firstLabel).left();
row();
add(secondLabel).left();
initialized = true;
}
Aggregations