Example usage for com.badlogic.gdx.graphics Color toString

List of usage examples for com.badlogic.gdx.graphics Color toString

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics Color toString.

Prototype

public String toString() 

Source Link

Document

Returns the color encoded as hex string with the format RRGGBBAA.

Usage

From source file:org.shadebob.skineditor.ColorPickerDialog.java

License:Apache License

/**
 * Refresh table content with colors from the skin
 *//*  ww  w .j av a2 s.  c om*/
public void updateTable() {

    tableColors.clear();
    tableColors.add(new Label("Color Name", game.skin, "title")).left().width(170);
    tableColors.add(new Label("Value", game.skin, "title")).colspan(2).left().width(60).padRight(50);

    tableColors.row();

    Iterator<String> it = colors.keys().iterator();
    while (it.hasNext()) {
        final String key = it.next();
        final Color color = colors.get(key);

        tableColors.add(key).left();

        // Create drawable on the fly
        Pixmap pixmap = new Pixmap(18, 18, Pixmap.Format.RGBA8888);
        pixmap.setColor(color);
        pixmap.fill();
        pixmap.setColor(Color.BLACK);
        pixmap.drawRectangle(0, 0, 18, 18);
        Texture texture = new Texture(pixmap);
        pixmap.dispose();
        tableColors.add(new Image(texture));
        tableColors.add(color.toString()).left();

        TextButton buttonSelect = new TextButton("Select", game.skin);
        buttonSelect.addListener(new ChangeListener() {

            @Override
            public void changed(ChangeEvent event, Actor actor) {
                try {
                    field.set(game.screenMain.paneOptions.currentStyle, color);
                } catch (Exception e) {
                    e.printStackTrace();
                }

                hide();
                game.screenMain.panePreview.refresh();
                game.screenMain.paneOptions.updateSelectedTableFields();
                game.screenMain.saveToSkin();

            }

        });

        TextButton buttonRemove = new TextButton("Remove", game.skin);
        buttonRemove.addListener(new ChangeListener() {

            @Override
            public void changed(ChangeEvent event, Actor actor) {

                Dialog dlg = new Dialog("Delete Style", game.skin) {

                    @Override
                    protected void result(Object object) {
                        if ((Boolean) object == false) {
                            return;
                        }

                        if (isColorInUse(color) == true) {

                            game.showNotice("Error", "Color already in use!", game.screenMain.stage);

                        } else {

                            colors.remove(key);
                            // update table
                            updateTable();
                            game.screenMain.saveToSkin();

                        }
                    }

                };

                dlg.pad(20);
                dlg.getContentTable().add("You are sure you want to delete this color?");
                dlg.button("OK", true);
                dlg.button("Cancel", false);
                dlg.key(com.badlogic.gdx.Input.Keys.ENTER, true);
                dlg.key(com.badlogic.gdx.Input.Keys.ESCAPE, false);
                dlg.show(game.screenMain.stage);

            }

        });

        if (field != null) {
            tableColors.add(buttonSelect).padRight(5);
        }
        tableColors.add(buttonRemove);
        tableColors.row();
    }

}

From source file:org.shadebob.skineditor.dialog.ColorPickerDialog.java

License:Apache License

public ColorPickerDialog(final SkinEditorGame game, final Field field) {
    super("Color Picker", game.skin);
    this.game = game;
    this.field = field;

    tableColors = new Table(game.skin);
    tableColors.left().top().pad(5);//w w  w  .  j  a v a 2 s.co m
    tableColors.defaults().pad(5);

    updateTable();

    ScrollPane scrollPane = new ScrollPane(tableColors, game.skin);
    scrollPane.setFlickScroll(false);
    scrollPane.setFadeScrollBars(false);
    scrollPane.setScrollbarsOnTop(true);
    getContentTable().add(scrollPane).width(540).height(320).pad(20);

    getButtonTable().add(new TextButton("New Color", game.skin)).getActor().addListener(new ChangeListener() {
        @Override
        public void changed(ChangeEvent event, Actor actor) {
            SwingUtils.forceFocus();
            // Call swing color picker
            java.awt.Color color = JColorChooser.showDialog(null, "Pick your color", java.awt.Color.WHITE);
            if (color != null) {
                String colorName = JOptionPane.showInputDialog("Name your color");
                if ((colorName != null) && (colorName.isEmpty() == false)) {
                    // Verify if the color name is already in use
                    if (colors.containsKey(colorName) == true) {
                        game.showNotice("Error", "Color name already in use!", game.screenMain.stage);
                    } else {
                        // Add the color (asuming RGBA)
                        float[] components = color.getComponents(null);
                        Color newColor = new Color(components[0], components[1], components[2], components[3]);
                        if (CustomSkin.isResInUse(game.skinProject, newColor)) {
                            game.showNotice("Error",
                                    "Same color value (" + newColor.toString()
                                            + ") is already defined with a different name!",
                                    game.screenMain.stage);
                            return;
                        }
                        colors.put(colorName, newColor);
                        game.screenMain.changeSkin();
                        // update table
                        updateTable();
                    }
                }
            }
        }
    });
    ;
    if (field != null) {
        getButtonTable().add(new TextButton("Empty Color", game.skin)).getActor()
                .addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeEvent event, Actor actor) {
                        try {
                            field.set(game.screenMain.paneOptions.currentStyleObj, null);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                        game.screenMain.changeSkin();
                        hide();
                        game.screenMain.panePreview.refresh();
                        game.screenMain.paneOptions.updateSelectedTableFields();
                    }
                });
    }

    button("Cancel", false).key(Keys.ESCAPE, false).getButtonTable().padBottom(15);
}

From source file:org.shadebob.skineditor.dialog.ColorPickerDialog.java

License:Apache License

void updateTable() {
    colors = game.skinProject.getAll(Color.class);

    tableColors.clear();/*from  w  ww.  java  2 s .c om*/
    tableColors.add("Color Name", "title").left().width(170);
    tableColors.add("Value", "title").colspan(2).left().width(60).padRight(50);
    tableColors.row();

    Iterator<String> it = colors.keys().iterator();
    while (it.hasNext()) {
        final String key = it.next();
        final Color color = colors.get(key);
        tableColors.add(key).left();

        Texture texture = null;
        if (cachesMap.containsKey(color)) {
            texture = (Texture) cachesMap.get(color);
        } else {
            // Create drawable on the fly
            Pixmap pixmap = new Pixmap(18, 18, Pixmap.Format.RGBA8888);
            pixmap.setColor(color);
            pixmap.fill();
            pixmap.setColor(Color.BLACK);
            pixmap.drawRectangle(0, 0, 18, 18);
            cachesMap.put(color, texture = new Texture(pixmap));
            pixmap.dispose();
        }

        tableColors.add(new Image(texture));
        tableColors.add(color.toString()).left();

        if (field != null) {
            tableColors.add(new TextButton("Select", game.skin)).left().getActor()
                    .addListener(new ChangeListener() {
                        @Override
                        public void changed(ChangeEvent event, Actor actor) {
                            try {
                                field.set(game.screenMain.paneOptions.currentStyleObj, color);
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            hide();
                            game.screenMain.panePreview.refresh();
                            game.screenMain.paneOptions.updateSelectedTableFields();
                            game.screenMain.changeSkin();
                        }
                    });
        }
        tableColors.add(new TextButton("Remove", game.skin)).left().expandX().getActor()
                .addListener(new ChangeListener() {
                    @Override
                    public void changed(ChangeEvent event, Actor actor) {
                        Dialog dlg = new Dialog("Delete Style", game.skin) {
                            @Override
                            protected void result(Object object) {
                                if (!(Boolean) object) {
                                    return;
                                }
                                if (CustomSkin.isResInUse(game.skinProject, color)) {
                                    game.showNotice("Error", "Color already in use!", game.screenMain.stage);
                                } else {
                                    colors.remove(key);
                                    updateTable();
                                    game.screenMain.changeSkin();
                                }
                            }
                        };
                        dlg.pad(20);
                        dlg.getContentTable().add("You are sure you want to delete this color?");
                        dlg.button("OK", true).key(Keys.ENTER, true);
                        dlg.button("Cancel", false).key(Keys.ESCAPE, false);
                        dlg.show(game.screenMain.stage);
                    }
                });
        tableColors.row();
    }
}