List of usage examples for com.badlogic.gdx.graphics Color WHITE
Color WHITE
To view the source code for com.badlogic.gdx.graphics Color WHITE.
Click Source Link
From source file:com.ray3k.skincomposer.data.DrawableData.java
License:Open Source License
public DrawableData(FileHandle file) { this.file = file; Color temp = Utils.averageEdgeColor(file); if (Utils.brightness(temp) > .5f) { bgColor = Color.BLACK;/*from w w w . j a v a 2s. co m*/ } else { bgColor = Color.WHITE; } visible = true; this.name = proper(file.name()); }
From source file:com.ray3k.skincomposer.dialog.DialogColorPicker.java
License:Open Source License
public DialogColorPicker(Main main, String style, ColorListener listener, Color previousColor) { super("", main.getSkin(), style); if (previousColor == null) { selectedColor = new Color(Color.RED); } else {//from w w w . j a va2s .c o m this.previousColor = new Color(previousColor); selectedColor = new Color(previousColor); } this.skin = main.getSkin(); this.main = main; this.listener = listener; spinnerStyle = new Spinner.SpinnerStyle(skin.get("spinner-minus-h", Button.ButtonStyle.class), skin.get("spinner-plus-h", Button.ButtonStyle.class), skin.get("default", TextField.TextFieldStyle.class)); gradientAlpha = new GradientDrawable(new Color(1.0f, 0, 0, 0), new Color(1.0f, 0, 0, 0), Color.RED, Color.RED); Vector3 v = rgbToHsb(selectedColor.r, selectedColor.g, selectedColor.b); Color temp = hsbToRgb(v.x * 360.0f, 1.0f, 1.0f); gradientS = new GradientDrawable(Color.WHITE, temp, temp, Color.WHITE); gradientB = new GradientDrawable(Color.BLACK, Color.BLACK, Color.CLEAR, Color.CLEAR); gradientSB = new StackedDrawable(gradientS, gradientB); hueGradient = new Array<>(); hueGradient.add(new GradientDrawable(Color.MAGENTA, Color.MAGENTA, Color.RED, Color.RED)); hueGradient.add(new GradientDrawable(Color.BLUE, Color.BLUE, Color.MAGENTA, Color.MAGENTA)); hueGradient.add(new GradientDrawable(Color.CYAN, Color.CYAN, Color.BLUE, Color.BLUE)); hueGradient.add(new GradientDrawable(Color.GREEN, Color.GREEN, Color.CYAN, Color.CYAN)); hueGradient.add(new GradientDrawable(Color.YELLOW, Color.YELLOW, Color.GREEN, Color.GREEN)); hueGradient.add(new GradientDrawable(Color.RED, Color.RED, Color.YELLOW, Color.YELLOW)); Drawable tinted = ((TextureRegionDrawable) skin.getDrawable("white")).tint(Color.LIGHT_GRAY); checker = new CheckerDrawable(skin.getDrawable("white"), tinted, 10.0f, 10.0f); alphaStack = new StackedDrawable(checker, gradientAlpha); Table root = getContentTable(); Label label = new Label("Choose a Color", skin, "title"); label.setAlignment(Align.center); root.add(label).growX(); root.row(); content = new Table(skin); root.add(content); addListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode) { if (keycode == Keys.ESCAPE) { if (listener != null) { listener.handle(new ColorListener.ColorEvent(null)); } hide(); } return false; } }); populate(); }
From source file:com.ray3k.skincomposer.dialog.DialogColors.java
License:Open Source License
public void populate() { colorTable.clear();//from w w w .j a v a2 s. co m if (colors.size > 0) { colorTable.defaults().padTop(5.0f); for (ColorData color : colors) { Button button = new Button(skin, "color-base"); button.addListener(main.getHandListener()); Label label = new Label(color.toString(), skin, "white"); label.setTouchable(Touchable.disabled); float brightness = Utils.brightness(color.color); Color borderColor; if (brightness > .35f) { borderColor = Color.BLACK; label.setColor(borderColor); } else { borderColor = Color.WHITE; label.setColor(borderColor); } Color bgColor = new Color(color.color.r, color.color.g, color.color.b, 1.0f); Table table = new Table(skin); table.setBackground("white"); table.setColor(bgColor); table.add(label).pad(3.0f); if (styleProperty == null && !selectingForTintedDrawable) { table.addCaptureListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { event.setBubbles(false); populate(); } }); table.addCaptureListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { event.setBubbles(false); return true; } }); } Table borderTable = new Table(skin); borderTable.setBackground("white"); borderTable.setColor(borderColor); borderTable.add(table).growX().pad(1.0f); button.add(borderTable).growX(); //rename button Button renameButton = new Button(skin, "settings-small"); renameButton.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { renameDialog(color); 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(10.0f); //recolor button Button recolorButton = new Button(skin, "colorwheel"); recolorButton.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { recolorDialog(color); event.setBubbles(false); } }); recolorButton.addListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { event.setBubbles(false); return true; } }); button.add(recolorButton); label = new Label("(" + ((int) (color.color.r * 255)) + ", " + ((int) (color.color.g * 255)) + ", " + ((int) (color.color.b * 255)) + ", " + ((int) (color.color.a * 255)) + ")", skin); label.setTouchable(Touchable.disabled); label.setAlignment(Align.center); if (styleProperty == null && !selectingForTintedDrawable) { label.addCaptureListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { event.setBubbles(false); populate(); } }); label.addCaptureListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { event.setBubbles(false); return true; } }); } button.add(label).padLeft(5.0f).minWidth(160.0f); //delete color button Button closeButton = new Button(skin, "delete-small"); final ColorData deleteColor = color; closeButton.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { colors.removeValue(deleteColor, true); //clear style properties that use this color. for (Array<StyleData> datas : jsonData.getClassStyleMap().values()) { for (StyleData data : datas) { for (StyleProperty property : data.properties.values()) { if (property != null && property.type.equals(Color.class) && property.value != null && property.value.equals(deleteColor.getName())) { property.value = null; } } } } //delete tinted drawables based on this color. for (DrawableData drawableData : new Array<>(projectData.getAtlasData().getDrawables())) { if (drawableData.tintName != null && drawableData.tintName.equals(deleteColor.getName())) { projectData.getAtlasData().getDrawables().removeValue(drawableData, true); //clear any style properties based on this tinted drawable. for (Array<StyleData> styleDatas : jsonData.getClassStyleMap().values()) { for (StyleData styleData : styleDatas) { for (StyleProperty styleProperty : styleData.properties.values()) { if (styleProperty != null && styleProperty.type.equals(Drawable.class) && styleProperty.value != null && styleProperty.value.equals(drawableData.toString())) { styleProperty.value = null; } } } } } } main.getUndoableManager().clearUndoables(); main.getRootTable().refreshStyleProperties(true); main.getRootTable().refreshPreview(); event.setBubbles(false); populate(); } }); 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); if (styleProperty == null && !selectingForTintedDrawable) { button.setTouchable(Touchable.childrenOnly); } else { setObject(button, color); final ColorData result = color; button.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { result(result); hide(); } }); } colorTable.add(button).growX(); colorTable.row(); } } else { colorTable.add(new Label("No colors have been set!", skin, "required")); } }
From source file:com.ray3k.skincomposer.dialog.DialogColors.java
License:Open Source License
private void renameDialog(ColorData color) { TextField textField = new TextField("", skin); TextButton okButton;/*from w w w . j a v a2 s . c om*/ Dialog dialog = new Dialog("Rename Color?", skin, "bg") { @Override protected void result(Object object) { if ((boolean) object) { renameColor(color, textField.getText()); } } @Override public Dialog show(Stage stage) { Dialog dialog = super.show(stage); main.getStage().setKeyboardFocus(textField); return dialog; } }; dialog.getTitleTable().padLeft(5.0f); float brightness = Utils.brightness(color.color); Color borderColor; if (brightness > .35f) { borderColor = Color.BLACK; } else { borderColor = Color.WHITE; } Table bg = new Table(skin); bg.setBackground("white"); bg.setColor(borderColor); dialog.getContentTable().add(bg); Label label = new Label(color.getName(), skin, "white"); label.setColor(color.color); bg.add(label).pad(10); dialog.getContentTable().row(); label = new Label("What do you want to rename the color to?", skin); dialog.getContentTable().add(label); dialog.getContentTable().row(); textField.setText(color.getName()); textField.selectAll(); textField.addListener(main.getIbeamListener()); dialog.getContentTable().add(textField); dialog.getCell(dialog.getContentTable()).pad(15.0f); dialog.button("OK", true); dialog.button("Cancel", false).key(Keys.ESCAPE, false); okButton = (TextButton) dialog.getButtonTable().getCells().first().getActor(); okButton.setDisabled(true); okButton.addListener(main.getHandListener()); dialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener()); dialog.getButtonTable().padBottom(15.0f); textField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { boolean disable = !ColorData.validate(textField.getText()); if (!disable) { for (ColorData data : jsonData.getColors()) { if (data.getName().equals(textField.getText())) { disable = true; break; } } } okButton.setDisabled(disable); } }); textField.setTextFieldListener(new TextField.TextFieldListener() { @Override public void keyTyped(TextField textField, char c) { if (c == '\n') { if (!okButton.isDisabled()) { renameColor(color, textField.getText()); dialog.hide(); } } } }); textField.setFocusTraversal(false); dialog.show(getStage()); }
From source file:com.ray3k.skincomposer.dialog.DialogDrawables.java
License:Open Source License
private void colorSwatchesDialog(DrawableData drawableData) { DialogColors dialog = new DialogColors(getSkin(), "dialog", null, true, dialogFactory, jsonData, projectData, atlasData, main, (ColorData colorData) -> { if (colorData != null) { final DrawableData tintedDrawable = new DrawableData(drawableData.file); tintedDrawable.tintName = colorData.getName(); //Fix background color for new, tinted drawable Color temp = Utils.averageEdgeColor(tintedDrawable.file, colorData.color); if (Utils.brightness(temp) > .5f) { tintedDrawable.bgColor = Color.BLACK; } else { tintedDrawable.bgColor = Color.WHITE; }//from ww w . j ava2 s .c o m final TextField textField = new TextField(drawableData.name, getSkin()); final TextButton button = new TextButton("OK", getSkin()); button.setDisabled(!DrawableData.validate(textField.getText()) || checkIfNameExists(textField.getText())); button.addListener(main.getHandListener()); textField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { button.setDisabled(!DrawableData.validate(textField.getText()) || checkIfNameExists(textField.getText())); } }); textField.addListener(main.getIbeamListener()); Dialog approveDialog = new Dialog("TintedDrawable...", getSkin(), "bg") { @Override protected void result(Object object) { if (object instanceof Boolean && (boolean) object) { tintedDrawable.name = textField.getText(); atlasData.getDrawables().add(tintedDrawable); projectData.setChangesSaved(false); } } @Override public boolean remove() { gatherDrawables(); produceAtlas(); sortBySelectedMode(); getStage().setScrollFocus(scrollPane); return super.remove(); } }; approveDialog.addCaptureListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode2) { if (keycode2 == Input.Keys.ENTER) { if (!button.isDisabled()) { tintedDrawable.name = textField.getText(); atlasData.getDrawables().add(tintedDrawable); projectData.setChangesSaved(false); approveDialog.hide(); } } return false; } }); approveDialog.getTitleTable().padLeft(5.0f); approveDialog.getContentTable().padLeft(10.0f).padRight(10.0f).padTop(5.0f); approveDialog.getButtonTable().padBottom(15.0f); approveDialog.text("What is the name of the new tinted drawable?"); Drawable drawable = drawablePairs.get(drawableData); Drawable preview = null; if (drawable instanceof SpriteDrawable) { preview = ((SpriteDrawable) drawable).tint(colorData.color); } else if (drawable instanceof NinePatchDrawable) { preview = ((NinePatchDrawable) drawable).tint(colorData.color); } if (preview != null) { approveDialog.getContentTable().row(); Table table = new Table(); table.setBackground(preview); approveDialog.getContentTable().add(table); } approveDialog.getContentTable().row(); approveDialog.getContentTable().add(textField).growX(); approveDialog.button(button, true); approveDialog.button("Cancel", false); approveDialog.getButtonTable().getCells().get(1).getActor() .addListener(main.getHandListener()); approveDialog.key(Input.Keys.ESCAPE, false); approveDialog.show(getStage()); getStage().setKeyboardFocus(textField); textField.selectAll(); textField.setFocusTraversal(false); } }); dialog.setFillParent(true); dialog.show(getStage()); dialog.populate(); }
From source file:com.ray3k.skincomposer.dialog.DialogDrawables.java
License:Open Source License
/** * Creates a TintedDrawable based on the provided DrawableData. Prompts * user for a Color and name.// ww w .ja v a 2 s. c o m * @param drawableData */ private void newTintedDrawable(DrawableData drawableData) { Color previousColor = Color.WHITE; if (drawableData.tint != null) { previousColor = drawableData.tint; } dialogFactory.showDialogColorPicker(previousColor, new DialogColorPicker.ColorListener() { @Override public void selected(Color color) { if (color != null) { final DrawableData tintedDrawable = new DrawableData(drawableData.file); tintedDrawable.tint = color; //Fix background color for new, tinted drawable Color temp = Utils.averageEdgeColor(tintedDrawable.file, tintedDrawable.tint); if (Utils.brightness(temp) > .5f) { tintedDrawable.bgColor = Color.BLACK; } else { tintedDrawable.bgColor = Color.WHITE; } final TextField textField = new TextField(drawableData.name, getSkin()); final TextButton button = new TextButton("OK", getSkin()); button.setDisabled( !DrawableData.validate(textField.getText()) || checkIfNameExists(textField.getText())); textField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { button.setDisabled(!DrawableData.validate(textField.getText()) || checkIfNameExists(textField.getText())); } }); textField.addListener(main.getIbeamListener()); Dialog dialog = new Dialog("TintedDrawable...", getSkin(), "bg") { @Override protected void result(Object object) { if (object instanceof Boolean && (boolean) object) { tintedDrawable.name = textField.getText(); atlasData.getDrawables().add(tintedDrawable); projectData.setChangesSaved(false); } } @Override public boolean remove() { gatherDrawables(); produceAtlas(); sortBySelectedMode(); getStage().setScrollFocus(scrollPane); return super.remove(); } }; dialog.getTitleTable().getCells().first().padLeft(5.0f); dialog.addCaptureListener(new InputListener() { @Override public boolean keyDown(InputEvent event, int keycode2) { if (keycode2 == Input.Keys.ENTER) { if (!button.isDisabled()) { tintedDrawable.name = textField.getText(); atlasData.getDrawables().add(tintedDrawable); projectData.setChangesSaved(false); dialog.hide(); } } return false; } }); dialog.text("What is the name of the new tinted drawable?"); dialog.getContentTable().getCells().first().pad(10.0f); Drawable drawable = drawablePairs.get(drawableData); Drawable preview = null; if (drawable instanceof SpriteDrawable) { preview = ((SpriteDrawable) drawable).tint(color); } else if (drawable instanceof NinePatchDrawable) { preview = ((NinePatchDrawable) drawable).tint(color); } if (preview != null) { dialog.getContentTable().row(); Table table = new Table(); table.setBackground(preview); dialog.getContentTable().add(table); } dialog.getContentTable().row(); dialog.getContentTable().add(textField).growX().pad(10.0f); dialog.getButtonTable().defaults().padBottom(10.0f).minWidth(50.0f); dialog.button(button, true); button.addListener(main.getHandListener()); dialog.button("Cancel", false); dialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener()); dialog.key(Input.Keys.ESCAPE, false); dialog.show(getStage()); getStage().setKeyboardFocus(textField); textField.selectAll(); textField.setFocusTraversal(false); } } }); }
From source file:com.ray3k.skincomposer.dialog.DialogFonts.java
License:Open Source License
public void populate() { fontsTable.clear();/*from ww w. jav a 2s . co m*/ fontsTable.defaults().growX().pad(5.0f); if (fonts.size == 0) { fontsTable.add(new Label("No fonts have been set!", skin)); } else { for (FontData font : fonts) { Button button = new Button(skin, "color-base"); Label label = new Label(font.getName(), skin); label.setTouchable(Touchable.disabled); button.add(label).left(); button.addListener(main.getHandListener()); Button renameButton = new Button(skin, "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); 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(skin); 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(skin, "delete-small"); final FontData deleteFont = font; closeButton.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { fonts.removeValue(deleteFont, true); 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 : jsonData.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); populate(); } }); 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(); if (styleProperty == 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(); } } }
From source file:com.ray3k.skincomposer.dialog.DialogFonts.java
License:Open Source License
private void renameDialog(FontData font) { TextField textField = new TextField("", skin); TextButton okButton;//from w ww. jav a2s . co m Dialog dialog = new Dialog("Rename Font?", skin, "bg") { @Override protected void result(Object object) { if ((boolean) object) { renameFont(font, textField.getText()); } } @Override public Dialog show(Stage stage) { Dialog dialog = super.show(stage); main.getStage().setKeyboardFocus(textField); return dialog; } }; dialog.getContentTable().padLeft(10.0f).padRight(10.0f); dialog.getTitleTable().padLeft(5.0f); Table bg = new Table(skin); bg.setBackground("white"); bg.setColor(Color.WHITE); dialog.getContentTable().add(bg); Label label = new Label(font.getName(), skin, "white"); label.setColor(Color.BLACK); bg.add(label).pad(10); dialog.getContentTable().row(); label = new Label("What do you want to rename the font to?", skin); dialog.getContentTable().add(label); dialog.getContentTable().row(); textField.setText(font.getName()); textField.selectAll(); textField.addListener(main.getIbeamListener()); dialog.getContentTable().add(textField); dialog.button("OK", true); dialog.button("Cancel", false).key(Keys.ESCAPE, false); okButton = (TextButton) dialog.getButtonTable().getCells().first().getActor(); okButton.setDisabled(true); okButton.addListener(main.getHandListener()); dialog.getButtonTable().getCells().get(1).getActor().addListener(main.getHandListener()); dialog.getButtonTable().padBottom(15.0f); textField.addListener(new ChangeListener() { @Override public void changed(ChangeListener.ChangeEvent event, Actor actor) { boolean disable = !FontData.validate(textField.getText()); if (!disable) { for (ColorData data : jsonData.getColors()) { if (data.getName().equals(textField.getText())) { disable = true; break; } } } okButton.setDisabled(disable); } }); textField.setTextFieldListener(new TextField.TextFieldListener() { @Override public void keyTyped(TextField textField, char c) { if (c == '\n') { if (!okButton.isDisabled()) { renameFont(font, textField.getText()); dialog.hide(); } } } }); textField.setFocusTraversal(false); dialog.show(getStage()); }
From source file:com.ray3k.skincomposer.dialog.DialogFonts.java
License:Open Source License
private void fontNameDialog(Array<FileHandle> files, int index) { if (index < files.size) { try {/*from w w w. ja v a 2s. com*/ final FileHandle fileHandle = files.get(index); final TextField textField = new TextField(FontData.filter(fileHandle.nameWithoutExtension()), skin); final Dialog nameDialog = new Dialog("Enter a name...", skin, "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(skin); 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 : jsonData.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]), projectData.getMaxTextureWidth(), projectData.getMaxTextureHeight())) { 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?"); } } }
From source file:com.ray3k.skincomposer.RootTable.java
License:Open Source License
public RootTable(Main main) { super(main.getSkin()); this.stage = main.getStage(); this.main = main; previewProperties = new ObjectMap<>(); previewBgColor = new Color(Color.WHITE); spinnerStyle = new Spinner.SpinnerStyle(getSkin().get("spinner-minus-h", Button.ButtonStyle.class), getSkin().get("spinner-plus-h", Button.ButtonStyle.class), getSkin().get("spinner", TextField.TextFieldStyle.class)); TextButtonStyle textButtonStyle = getSkin().get("file", TextButtonStyle.class); MenuButtonStyle menuButtonStyle = new MenuButton.MenuButtonStyle(); menuButtonStyle.font = textButtonStyle.font; menuButtonStyle.up = textButtonStyle.up; menuButtonStyle.down = textButtonStyle.down; menuButtonStyle.over = textButtonStyle.over; menuButtonStyle.checked = textButtonStyle.checked; MenuListStyle menuListStyle = new MenuListStyle(); menuListStyle.background = getSkin().getDrawable("list"); menuListStyle.textButtonStyle = getSkin().get("menu-button", TextButtonStyle.class); menuListStyle.labelStyle = getSkin().get("white", LabelStyle.class); menuListStyle.disabledLabelStyle = getSkin().get("disabled", LabelStyle.class); menuButtonStyle.menuListStyle = menuListStyle; bfColorStyle = new BrowseFieldStyle(getSkin().get("color", ImageButtonStyle.class), getSkin().get("browse-field", TextButtonStyle.class), getSkin().get(LabelStyle.class)); bfDrawableStyle = new BrowseFieldStyle(getSkin().get("drawable", ImageButtonStyle.class), getSkin().get("browse-field", TextButtonStyle.class), getSkin().get(LabelStyle.class)); bfFontStyle = new BrowseFieldStyle(getSkin().get("font", ImageButtonStyle.class), getSkin().get("browse-field", TextButtonStyle.class), getSkin().get(LabelStyle.class)); bfColorStyleR = new BrowseFieldStyle(getSkin().get("color", ImageButtonStyle.class), getSkin().get("browse-field", TextButtonStyle.class), getSkin().get("required", LabelStyle.class)); bfDrawableStyleR = new BrowseFieldStyle(getSkin().get("drawable", ImageButtonStyle.class), getSkin().get("browse-field", TextButtonStyle.class), getSkin().get("required", LabelStyle.class)); bfFontStyleR = new BrowseFieldStyle(getSkin().get("font", ImageButtonStyle.class), getSkin().get("browse-field", TextButtonStyle.class), getSkin().get("required", LabelStyle.class)); getSkin().add("default", menuButtonStyle); getSkin().add("default", menuListStyle); hSplitPaneDragListener = new DragListener() { @Override/* ww w.j ava 2 s. c om*/ public void dragStop(InputEvent event, float x, float y, int pointer) { Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow); draggingCursor = false; } @Override public void dragStart(InputEvent event, float x, float y, int pointer) { if (!draggingCursor && event.getListenerActor().equals(event.getTarget())) { Gdx.graphics.setSystemCursor(Cursor.SystemCursor.HorizontalResize); draggingCursor = true; } } }; vSplitPaneDragListener = new DragListener() { @Override public void dragStop(InputEvent event, float x, float y, int pointer) { Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow); draggingCursor = false; } @Override public void dragStart(InputEvent event, float x, float y, int pointer) { if (!draggingCursor && event.getListenerActor().equals(event.getTarget())) { Gdx.graphics.setSystemCursor(Cursor.SystemCursor.VerticalResize); draggingCursor = true; } } }; hSplitPaneInputListener = new InputListener() { @Override public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) { if (!draggingCursor && event.getListenerActor().equals(event.getTarget())) { Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow); } } @Override public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) { if (!draggingCursor && event.getListenerActor().equals(event.getTarget())) { Gdx.graphics.setSystemCursor(Cursor.SystemCursor.HorizontalResize); } } }; vSplitPaneInputListener = new InputListener() { @Override public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) { if (!draggingCursor && event.getListenerActor().equals(event.getTarget())) { Gdx.graphics.setSystemCursor(Cursor.SystemCursor.Arrow); } } @Override public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) { if (!draggingCursor && event.getListenerActor().equals(event.getTarget())) { Gdx.graphics.setSystemCursor(Cursor.SystemCursor.VerticalResize); } } }; scrollPaneListener = new ScrollPaneListener(); previewFonts = new Array<>(); drawablePairs = new ObjectMap<>(); produceAtlas(); main.getStage().addListener(new ShortcutListener(this)); }