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

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

Introduction

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

Prototype

Color BLACK

To view the source code for com.badlogic.gdx.graphics Color BLACK.

Click Source Link

Usage

From source file:org.illarion.engine.backend.gdx.GdxWorldMap.java

License:Open Source License

@Override
public void clear() {
    cancelFetchingTiles = true;//w  w w .  j  a v a 2 s .co  m
    if (currentlyFetchingTiles) {
        synchronized (this) {
            while (currentlyFetchingTiles) {
                try {
                    wait();
                } catch (@Nonnull final InterruptedException ignored) {
                }
            }
        }
    }
    cancelFetchingTiles = false;
    synchronized (worldMapPixels) {
        worldMapPixels.setColor(Color.BLACK);
        worldMapPixels.fill();
        mapDirty = true;
    }
}

From source file:org.shadebob.skineditor.actors.OptionsPane.java

License:Apache License

/**
 * // w w w  .j  av  a 2  s . co m
 */
private void updateTableFields(final String style) {

    ImageButton button = (ImageButton) game.screenMain.barWidgets.group.getChecked();
    String widget = button.getUserObject().toString();

    Gdx.app.log("OptionsPane", "Update fields table for widget: " + widget + ", style: " + style);
    tableFields.clear();
    tableFields.add(new Label("Name", game.skin, "title")).left().width(170);
    tableFields.add(new Label("Value", game.skin, "title")).left().width(60).padRight(50);
    tableFields.row();

    Field[] fields = ClassReflection.getFields(currentStyle.getClass());
    for (final Field field : fields) {
        try {

            // field name

            // White required
            // Grey optional
            if (game.opt.isFieldOptional(currentStyle.getClass(), field.getName())) {

                tableFields.add(new Label(field.getName(), game.skin, "optional")).left();

            } else {
                tableFields.add(new Label(field.getName(), game.skin, "default")).left();

            }

            Actor actor;

            // field type
            String name = field.getType().getSimpleName();
            Object obj = field.get(currentStyle);

            if (name.equals("Drawable")) {

                /**
                 * Handle Drawable object
                 */

                Drawable drawable = (Drawable) field.get(currentStyle);
                String resourceName = "";
                ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle(
                        game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"),
                        game.skin.getDrawable("default-round"), game.skin.getFont("default-font"));

                if (drawable != null) {
                    resourceName = game.skinProject.resolveObjectName(Drawable.class, drawable);
                    buttonStyle.imageUp = drawable;
                } else {
                    buttonStyle.up = game.skinProject.getDrawable("default-rect");
                    buttonStyle.checked = game.skinProject.getDrawable("default-rect");
                }

                actor = new ImageTextButton(resourceName, buttonStyle);
                ((ImageTextButton) actor).setClip(true);
                actor.addListener(new ChangeListener() {

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

                    }

                });

            } else if (name.equals("Color")) {

                /**
                 * Handle Color object
                 */
                Color color = (Color) field.get(currentStyle);
                ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle(
                        game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"),
                        game.skin.getDrawable("default-round"), game.skin.getFont("default-font"));

                String resourceName = "";
                if (color != null) {
                    resourceName = game.skinProject.resolveObjectName(Color.class, color);
                    resourceName += " (" + color.toString() + ")";

                    // 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);
                    buttonStyle.imageUp = new SpriteDrawable(new Sprite(texture));
                    pixmap.dispose();
                } else {
                    buttonStyle.up = game.skinProject.getDrawable("default-rect");
                    buttonStyle.checked = game.skinProject.getDrawable("default-rect");
                }

                actor = new ImageTextButton(resourceName, buttonStyle);
                ((ImageTextButton) actor).setClip(true);
                actor.addListener(new ChangeListener() {

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

                    }

                });

            } else if (name.equals("BitmapFont")) {

                /**
                 * Handle BitmapFont object
                 */

                BitmapFont font = (BitmapFont) field.get(currentStyle);
                String resourceName = "";
                ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle(
                        game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"),
                        game.skin.getDrawable("default-round"), game.skin.getFont("default-font"));

                if (font != null) {
                    resourceName = game.skinProject.resolveObjectName(BitmapFont.class, font);
                    buttonStyle.font = font;
                } else {
                    buttonStyle.up = game.skinProject.getDrawable("default-rect");
                    buttonStyle.checked = game.skinProject.getDrawable("default-rect");
                }

                actor = new ImageTextButton(resourceName, buttonStyle);
                ((ImageTextButton) actor).setClip(true);

                actor.addListener(new ChangeListener() {

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

                    }

                });

            } else if (name.equals("float")) {

                /**
                 * Handle Float object
                 */

                Float value = (Float) field.get(currentStyle);
                String resourceName = "";

                ImageTextButton.ImageTextButtonStyle buttonStyle = new ImageTextButton.ImageTextButtonStyle(
                        game.skin.getDrawable("default-round"), game.skin.getDrawable("default-round-down"),
                        game.skin.getDrawable("default-round"), game.skin.getFont("default-font"));

                if ((value != null) && (value != 0)) {
                    resourceName = String.valueOf(value);
                } else {
                    buttonStyle.up = game.skinProject.getDrawable("default-rect");
                    buttonStyle.checked = game.skinProject.getDrawable("default-rect");
                }

                actor = new ImageTextButton(resourceName, buttonStyle);
                ((ImageTextButton) actor).setClip(true);
                actor.addListener(new ChangeListener() {

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

                    }

                });

            } else if (name.equals("ListStyle")) {

                /**
                 * Handle ListStyle object
                 */
                ListStyle listStyle = (ListStyle) field.get(currentStyle);

                actor = new SelectBox<String>(game.skin, "default");
                Array<String> items = new Array<String>();

                final ObjectMap<String, ListStyle> values = game.skinProject.getAll(ListStyle.class);
                Iterator<String> it = values.keys().iterator();
                String selection = null;

                while (it.hasNext()) {
                    String key = it.next();
                    items.add(key);

                    if (listStyle == values.get(key)) {
                        selection = key;
                    }
                }

                ((SelectBox) actor).setItems(items);

                if (selection != null) {
                    ((SelectBox) actor).setSelected(selection);
                }

                actor.addListener(new ChangeListener() {

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

                        String selection = (String) ((SelectBox) actor).getSelected();
                        try {
                            field.set(currentStyle, values.get(selection));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }

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

                });

            } else if (name.equals("ScrollPaneStyle")) {

                /**
                 * Handle ListStyle object
                 */
                ScrollPaneStyle scrollStyle = (ScrollPaneStyle) field.get(currentStyle);

                actor = new SelectBox<String>(game.skin, "default");
                Array<String> items = new Array<String>();

                final ObjectMap<String, ScrollPaneStyle> values = game.skinProject
                        .getAll(ScrollPaneStyle.class);
                Iterator<String> it = values.keys().iterator();
                String selection = null;

                while (it.hasNext()) {
                    String key = it.next();
                    items.add(key);

                    if (scrollStyle == values.get(key)) {
                        selection = key;
                    }
                }

                ((SelectBox) actor).setItems(items);

                if (selection != null) {
                    ((SelectBox) actor).setSelected(selection);
                }

                actor.addListener(new ChangeListener() {

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

                        String selection = (String) ((SelectBox) actor).getSelected();
                        try {
                            field.set(currentStyle, values.get(selection));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }

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

                });

            } else {

                Gdx.app.log("OptionsPane", "Unknown type: " + name);
                actor = new Label("Unknown Type", game.skin);
            }

            tableFields.add(actor).left().height(32).padRight(24).expandX().fillX();

            tableFields.row();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

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

License:Apache License

/**
 * Refresh table content with colors from the skin
 *//*  w w w .j av  a  2 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

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

    tableColors.clear();/* ww w .  j a  v a  2s . co m*/
    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();
    }
}

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

License:Apache License

/**
 * //from w  w w  .ja  va2 s . c om
 */
public void refreshFontPreview() {

    try {
        String fontName = selectFonts.getSelected();
        Gdx.app.log("FontPickerDialog", "Refreshing preview for font: " + fontName);

        File fontPath = game.fm.fonts.get(selectFonts.getSelected());
        Gdx.app.log("FontPickerDialog", "Loading font from file:" + fontPath);

        Font font = Font.createFont(Font.TRUETYPE_FONT, fontPath);
        UnicodeFont unicodeFont = new UnicodeFont(font, Integer.valueOf(selectSize.getSelected()),
                checkBold.isChecked(), checkItalic.isChecked());

        if (checkShadow.isChecked() == true) {

            ColorEffect colorEffect = new ColorEffect();
            colorEffect.setColor(java.awt.Color.BLACK);
            unicodeFont.getEffects().add(colorEffect);

            ShadowEffect shadow = new ShadowEffect();
            shadow.setOpacity(1.0f);
            shadow.setXDistance(1);
            shadow.setYDistance(1);
            shadow.setColor(java.awt.Color.WHITE);
            unicodeFont.getEffects().add(shadow);

        } else {
            ColorEffect colorEffect = new ColorEffect();
            colorEffect.setColor(java.awt.Color.WHITE);
            unicodeFont.getEffects().add(colorEffect);

        }

        unicodeFont.addAsciiGlyphs();

        // Generate a temporary name for your font (Do not end with a number, it will be removed in the atlas)
        String newFontName = "font_" + fontName.toLowerCase().replace(" ", "_") + "_" + selectSize.getSelected()
                + "pt";
        if (checkBold.isChecked() == true) {
            newFontName += "_bold";
        }

        if (checkItalic.isChecked() == true) {
            newFontName += "_italic";
        }

        textFontName.setText(newFontName);

        // Create bitmap font
        BMFontUtil bfu = new BMFontUtil(unicodeFont);

        FileHandle handle = new FileHandle(System.getProperty("java.io.tmpdir")).child(newFontName);
        FileHandle handleFont = new FileHandle(handle.file().getAbsolutePath() + ".fnt");
        bfu.save(handle.file());

        FileHandle handleImage = new FileHandle(System.getProperty("java.io.tmpdir"))
                .child(newFontName + ".png");

        TextField.TextFieldStyle textStyle = new TextField.TextFieldStyle();
        textStyle.cursor = game.skin.getDrawable("cursor");
        textStyle.selection = game.skin.getDrawable("selection");
        textStyle.background = game.skin.getDrawable("textfield");
        textStyle.fontColor = Color.YELLOW;
        textStyle.font = new BitmapFont(handleFont, handleImage, false);

        textFontPreview.setStyle(textStyle);

        // Have to do this to force clipping of font
        textFontPreview.setText(textFontPreview.getText());

    } catch (Exception e) {
        e.printStackTrace();
        textFontPreview.getStyle().font = game.skin.getFont("default-font");
        // Have to do this to force clipping of font
        textFontPreview.setText(textFontPreview.getText());
    }
}

From source file:pl.kotcrab.jdialogue.editor.components.ConnectionRenderer.java

License:Open Source License

public int renderLines(ShapeRenderer shapeRenderer, DComponent comp, boolean ignoreInvisible) {
    rendered = 0;/* w  w w. j  av a 2  s  .c o m*/

    if (ignoreInvisible == false && comp instanceof RelayComponent) {
        if ((boolean) comp.getTableModel().data[0][1] == true)
            return rendered;
    }

    Connector[] outputs = comp.getOutputs();

    for (int i = 0; i < outputs.length; i++) {
        Connector con = outputs[i];
        Connector target = con.getTarget();

        if (target == null)
            continue;

        float x1 = con.getX() + 6;
        float y1 = con.getY() + 6;
        float x2 = target.getX() + 6;
        float y2 = target.getY() + 6;

        float startX;
        if (x2 > x1) {
            startX = x1;
            shapeRenderer.setColor(Color.BLACK);
        } else {
            shapeRenderer.setColor(Color.BLUE);
            startX = x2;
        }

        float startY;
        if (y2 > y1)
            startY = y1;
        else
            startY = y2;

        if (cameraRect.overlaps(new Rectangle(startX, startY, Math.abs(x2 - x1), Math.abs(y2 - y1))) == false)
            continue;

        float d = 0;

        if (renderCurves) {
            d = Math.abs(y1 - y2);
            if (d > 100)
                d = 100; // limit
        }

        if (renderCurves)
            shapeRenderer.curve(x1, y1, x1 + d, y1, x2 - d, y2, x2, y2, 32); // connection line
        else
            shapeRenderer.line(x1, y1, x2 - 12, y2);

        rendered++;
    }

    return rendered;
}

From source file:pl.kotcrab.jdialogue.editor.components.ConnectionRenderer.java

License:Open Source License

public void renderTraingles(ShapeRenderer shapeRenderer, DComponent comp, boolean ignoreInvisible) {
    if (comp instanceof RelayComponent) {
        RelayComponent rcomp = (RelayComponent) comp;
        if ((boolean) rcomp.getTableModel().data[0][1] == true)
            shapeRenderer.setColor(Color.RED);

    }//from   w w w  .jav  a 2  s .c  o  m

    Connector[] inputs = comp.getOutputs();

    for (int i = 0; i < inputs.length; i++) {
        Connector con = inputs[i];
        Connector target = con.getTarget();

        if (target == null)
            continue;

        if (target.getParrentComponent().isVisible() == false && con.getParrentComponent().isVisible() == false)
            continue;

        float y2 = target.getY() + 6;

        if (ignoreInvisible == false && comp instanceof RelayComponent
                && (boolean) comp.getTableModel().data[0][1] == true) {
            shapeRenderer.setColor(Color.RED);
            shapeRenderer.triangle(target.getX() - 8, target.getY() + 20, target.getX() - 8, target.getY() + 32,
                    target.getX() + 3, y2 + 20); // ending triangle
            shapeRenderer.triangle(con.getX() + 12, con.getY(), con.getX() + 12, con.getY() + 12,
                    con.getX() + 22, con.getY() + 6); // ending triangle
        } else {
            shapeRenderer.setColor(Color.BLACK);
            shapeRenderer.triangle(target.getX() - 8, target.getY(), target.getX() - 8, target.getY() + 12,
                    target.getX() + 3, y2); // ending triangle
        }

    }
}

From source file:pl.kotcrab.jdialogue.editor.components.Connector.java

License:Open Source License

public void render(ShapeRenderer shapeRenderer) {
    shapeRenderer.setColor(Color.BLACK);
    shapeRenderer.rect(x, y, 12, 12);
}

From source file:pl.kotcrab.jdialogue.editor.Renderer.java

License:Open Source License

@Override
public void render() {
    if (!disposed) {
        update();//from w  ww . ja  v  a2 s .  co  m

        int renderedComponents = 0;
        int renderedConnections = 0;

        Gdx.gl.glClearColor(0.69f, 0.69f, 0.69f, 1);
        Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

        // why more loops == better
        // we can draw more shapes/sprites in single batch, wich reduces lwgjl nSwapBuffers and imroves perofmence

        shapeRenderer.begin(ShapeType.Filled);
        for (DComponent comp : componentList) {
            if (comp.isVisible()) {
                comp.renderShapes(shapeRenderer);
                renderedComponents++;
            }
        }
        shapeRenderer.end();

        shapeRenderer.begin(ShapeType.Line);
        for (DComponent comp : componentList) {
            if (comp.isVisible())
                comp.renderSelectionOutline(shapeRenderer, Color.BLACK);
        }
        shapeRenderer.end();

        batch.setShader(Assets.fontDistanceFieldShader);
        batch.begin();
        for (DComponent comp : componentList) {
            comp.render(batch);
        }
        batch.end();
        batch.setShader(null);

        shapeRenderer.begin(ShapeType.Line);
        if (selectedComponent != null)
            selectedComponent.renderSelectionOutline(shapeRenderer, Color.ORANGE); // 1
        shapeRenderer.end();

        // these if's are difrrent, easy to omit... (1,2)

        if (selectedConnector != null) // 2
        {
            if (Gdx.input.isKeyPressed(Keys.CONTROL_LEFT))
                selectedConnector.renderAsSelected(shapeRenderer, Color.RED);
            else
                selectedConnector.renderAsSelected(shapeRenderer, Color.ORANGE);

            if (Gdx.input.isButtonPressed(Buttons.LEFT)) {
                connectionRenderer.render(shapeRenderer, selectedConnector, Touch.getX(), Touch.getY());
            }
        }

        rectangularSelection.render(shapeRenderer);

        shapeRenderer.begin(ShapeType.Line);
        for (DComponent comp : selectedComponentsList) {
            comp.renderSelectionOutline(shapeRenderer, Color.RED);
        }
        shapeRenderer.end();

        connectionRenderer.setCameraCalc(cameraRect);

        shapeRenderer.setColor(Color.BLACK);
        shapeRenderer.begin(ShapeType.Line);
        for (DComponent comp : componentList) {
            renderedConnections += connectionRenderer.renderLines(shapeRenderer, comp,
                    Gdx.input.isKeyPressed(Keys.CONTROL_LEFT)); // we are counitng how many connections we had drawn
        }
        shapeRenderer.end();

        shapeRenderer.begin(ShapeType.Filled);
        for (DComponent comp : componentList) {
            connectionRenderer.renderTraingles(shapeRenderer, comp, Gdx.input.isKeyPressed(Keys.CONTROL_LEFT));
        }
        shapeRenderer.end();

        if (renderDebug) {
            batch.setProjectionMatrix(renderDebugMatrix);
            batch.setShader(Assets.fontDistanceFieldShader);
            batch.begin();
            Assets.consolasFont.draw(batch, "FPS: " + Gdx.graphics.getFramesPerSecond(), 10,
                    Gdx.graphics.getHeight() * 10 / 7);
            Assets.consolasFont.draw(batch, "Components: " + componentList.size(), 10,
                    Gdx.graphics.getHeight() * 10 / 7 - (23 * 1));
            Assets.consolasFont.draw(batch, "Rendered components: " + renderedComponents, 10,
                    Gdx.graphics.getHeight() * 10 / 7 - (23 * 2));
            Assets.consolasFont.draw(batch, "Rendered connections: " + renderedConnections, 10,
                    Gdx.graphics.getHeight() * 10 / 7 - (23 * 3));
            batch.end();
            batch.setShader(null);
        }

        if (componentList.size() == 0) {
            batch.setProjectionMatrix(renderInfoTextMatrix);
            batch.setShader(Assets.fontDistanceFieldShader);
            batch.begin();
            infoText.draw(batch);
            batch.end();
            batch.setShader(null);
        }
    }
}

From source file:releasethekraken.entity.EntityLiving.java

@Override
public void renderShapes(ShapeRenderer shapeRenderer, float delta, float runTime) {
    super.renderShapes(shapeRenderer, delta, runTime);

    float width = 5F;
    float height = 0.5F;
    float healthRatio = this.health / ((float) this.maxHealth);
    float yOffset = 1.1F;

    if (this instanceof EntityOrca)
        yOffset += 1.0F;//from   w w  w . j  a v  a2  s.co m
    else if (this instanceof EntityPirateBase)
        yOffset += 3.0F;
    else if (this instanceof EntityKraken)
        yOffset += 2.0F;

    //Draw background
    shapeRenderer.setColor(Color.BLACK);
    shapeRenderer.rect(this.getPos().x - (width / 2), this.getPos().y + yOffset, width, height);

    //Calculate the healthbar color
    final Color fullColor = Color.valueOf("0FB300");
    Color healthColor = Color.RED.cpy().lerp(fullColor, healthRatio);

    //Draw health bar
    shapeRenderer.setColor(healthColor);
    shapeRenderer.rect(this.getPos().x - (width / 2), this.getPos().y + yOffset, healthRatio * width, height);

}