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:net.bplaced.therefactory.nomoore.cutscenes.CutsceneStoneAge.java

License:Open Source License

@Override
public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1);/*from w w  w . j a  v  a  2s.c  o  m*/
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    update();

    sr.setProjectionMatrix(camera.combined);
    sr.begin(ShapeRenderer.ShapeType.Filled);

    sr.setColor(Color.BLACK);
    sr.rect(-70, -70, viewport.getWorldWidth(), 70);
    sr.rect(-70, 220, viewport.getWorldWidth(), 70);
    sr.rect(-70, 0, 70, 220);
    sr.rect(500, 0, 70, 220);
    sr.end();

    batch.setProjectionMatrix(camera.combined);
    batch.begin();

    if (numTouches == -1) {
        message = "";
        String msg = "1 million years ago.";
        font.draw(batch, msg, 250 - Utils.getFontWidth(msg, font) / 2, 115);
    }

    if (numTouches >= 0 && numTouches <= 10) {
        bg.draw(batch);
        particles.renderSmallFire(batch, delta, 128, 43);
        if (numTouches < 8) {
            batch.draw(stone.getTexture(), 350, 30);
        }
    }

    if (numTouches >= 0 && numTouches < 7) {
        batch.draw(girl.getTexture(), 335, 30);
    }

    if (numTouches >= 0 && numTouches < 2) {
        batch.draw(hominideSitzend.getTexture(), 40, 40);
        hominideSitzend.setPosition(160, 20);
        hominideSitzend.setScale(flipX, 1);
        hominideSitzend.draw(batch);
    }
    if (numTouches >= 2 && numTouches < 5) {
        batch.draw(hominideStehend.getTexture(), 50, 45);
        batch.draw(hominideStehend.getTexture(), 170, 25);
    }
    if (numTouches == 5) {
        batch.draw(hominideDuckend.getTexture(), 45, 45);
        batch.draw(hominideDuckend.getTexture(), 165, 25);
    }
    if (numTouches == 6) {
        batch.draw(hominideDuckend.getTexture(), 185, 45);
        batch.draw(hominideDuckend.getTexture(), 290, 25);
    }
    if (numTouches == 7) {
        batch.draw(girl.getTexture(), 315, 45);
        batch.draw(hominideDuckend.getTexture(), 260, 45);
        batch.draw(hominideDuckend.getTexture(), 270, 40);
        batch.draw(hominideDuckend.getTexture(), 100, -10);
        batch.draw(hominideDuckend.getTexture(), 35, -10);
    }
    if (numTouches == 8) {
        batch.draw(hominideDuckend.getTexture(), 320, 45);
        batch.draw(hominideDuckend.getTexture(), 330, 40);
        batch.draw(hominideDuckend.getTexture(), 220, 45);
        batch.draw(hominideDuckend.getTexture(), 260, 40);
    }
    if (numTouches == 9) {
        batch.draw(hominideDuckend.getTexture(), 320, 45);
        batch.draw(hominideDuckend.getTexture(), 330, 40);
    }
    if (numTouches == 11) {
        message = "";
        String msg = "I have been used.";
        font.draw(batch, msg, 250 - Utils.getFontWidth(msg, font) / 2, 115);
    }

    if (numTouches >= 8 && numTouches < 11) {
        batch.draw(stone.getTexture(), 350, 30);
    }

    font.draw(batch, message, 265 - Utils.getFontWidth(message, font) / 2, -29);
    batch.end();
}

From source file:net.bplaced.therefactory.nomoore.screens.ScreenGame.java

License:Open Source License

public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1);//  w  w  w.  ja v  a2 s.  c o  m
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    update(delta);

    // draw outer black borders
    sr.setProjectionMatrix(camera.combined);
    sr.begin(ShapeRenderer.ShapeType.Filled);
    sr.setAutoShapeType(true);

    // draw blue background
    sr.setColor(0, 0, blueness, 1);
    sr.rect(0, 0, Configuration.WINDOW_WIDTH, Configuration.WINDOW_HEIGHT);

    // draw outer black borders
    sr.setColor(Color.BLACK);
    sr.rect(-70, -70, viewport.getWorldWidth(), 70);
    sr.rect(-70, 220, viewport.getWorldWidth(), 70);
    sr.rect(-70, 0, 70, 220);
    sr.rect(500, 0, 70, 220);

    // highlight selected item
    if (selectedItemInInventory != null) {
        sr.setColor(new Color(.25f, .25f, .25f, 1));
        sr.circle(
                selectedItemInInventory.getSprite().getX() + selectedItemInInventory.getSprite().getWidth() / 2,
                -35, 30);
    }
    sr.end();

    batch.setProjectionMatrix(camera.combined);
    batch.begin();

    // draw stars
    for (int i = 0; i < numStars; i++) {
        batch.draw(spriteStar.getTexture(), starPositionsX[i], starPositionsY[i]);
    }

    // draw backgrounds
    batch.draw(regionModernTimes, (int) rectangleRightHandle.x, 0);
    batch.draw(regionMedieval, 0, 0);
    if (isBetweenStoneAgeAndMedieval()) {
        batch.draw(regionStoneage, 0, 0);
    }

    // draw message
    if (message != null && message.length() > 0) {
        font.setColor(Color.WHITE);
        font.draw(batch, message, textureMedieval.getWidth() / 2 - Utils.getFontWidth(message, font) / 2, 260);
    }

    // draw interactables
    if (isBetweenMedievalAndModernTimes()) {
        for (Interactable interactable : interactablesModernTimes) {
            if (interactable.isVisible() && !interactable.isConsumed()) {
                drawSprite(batch, interactable.getSprite(), 2, interactable);
            }
        }
    }
    for (Interactable interactable : interactablesMedieval) {
        if (interactable.isVisible() && !interactable.isConsumed()) {
            drawSprite(batch, interactable.getSprite(), 1, interactable);
        }
    }
    if (isBetweenStoneAgeAndMedieval() && !dragsRightHandle) {
        for (Interactable interactable : interactablesStoneAge) {
            if (interactable.isVisible() && !interactable.isConsumed()) {
                drawSprite(batch, interactable.getSprite(), 0, interactable);
            }
        }
    }

    // handles
    if (!gameOver && isBetweenMedievalAndModernTimes()) {
        // hide right handle if between stone age and medieval
        batch.draw(handle.getTexture(), (int) rectangleRightHandle.x, rectangleRightHandle.y,
                rectangleRightHandle.width, rectangleRightHandle.height);
    }
    if (!gameOver && isBetweenStoneAgeAndMedieval()) {
        // hide left handle if between medieval and modern times
        batch.draw(handle.getTexture(), (int) rectangleLeftHandle.x, rectangleLeftHandle.y,
                rectangleLeftHandle.width, rectangleLeftHandle.height);
    }

    // fire effects
    if (renderBigFire) {
        if (rectangleRightHandle.getX() > fireplace.getSprite().getX() + 30
                && rectangleLeftHandle.getX() < fireplace.getSprite().getX() + 30) {
            particles.renderBigFire(batch, delta, fireplace.getSprite().getX() + 30,
                    fireplace.getSprite().getY() + 20);
        }
    } else if (renderSmallFire) {
        if (rectangleRightHandle.getX() > fireplace.getSprite().getX() + 30
                && rectangleLeftHandle.getX() < fireplace.getSprite().getX() + 30) {
            particles.renderSmallFire(batch, delta, fireplace.getSprite().getX() + 30,
                    fireplace.getSprite().getY() + 20);
        }
    }

    // inventory
    for (Interactable interactable : inventory) {
        interactable.getSprite().draw(batch);
    }

    if (gameOver) {
        if (numTouches == 1) {
            message = "?";
        }
        if (numTouches == 2) {
            daddy.setVisible(false);
            batch.draw(human1, daddy.getSprite().getX() + 18, daddy.getSprite().getY() + 2);
            message = "Moore, is it you?";
        }
        if (numTouches == 3) {
            moore.setPosition(400, 25);
            message = "Yes, daddy!";
            batch.draw(human1, daddy.getSprite().getX() + 100, daddy.getSprite().getY());
        }
        if (numTouches == 4) {
            message = "";
            moore.setPosition(375, 25);
            batch.draw(human1, daddy.getSprite().getX() + 110, daddy.getSprite().getY());
        }
        if (numTouches == 5) {
            myGdxGame.showOutroScreen();
        }
    }

    // fade
    if (showMooresDrawing) {
        myGdxGame.fade.draw(batch, .6f);
        pic.draw(batch);
    }

    batch.end();
}

From source file:net.bplaced.therefactory.voraciousviper.screens.GameScreen.java

License:Open Source License

@Override
public void render(float delta) {
    super.render(delta);

    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    Gdx.gl.glClearColor(0, 0, 0, 1);// ww  w.  j  ava  2  s  .  c o m

    update();

    shapeRenderer.setProjectionMatrix(camera.combined);
    shapeRenderer.setAutoShapeType(true);
    shapeRenderer.begin();
    if (level.hadFirstLevelTransition()) {
        inputProcessor.render(shapeRenderer);
    }
    shapeRenderer.end();

    batch.setProjectionMatrix(camera.combined);
    batch.begin();
    level.render(batch);
    hud.render(batch);

    // fade background if dialog is shown
    if (currentGameState.equals(GameState.ShowPauseMenuDialog)
            || currentGameState.equals(GameState.ShowGameOverDialog)
            || currentGameState.equals(GameState.ShowContinueDialog)) {
        VoraciousViper.getInstance().getFadeSprite().setAlpha(.5f);
        VoraciousViper.getInstance().getFadeSprite().draw(batch);
    }

    // fireworks effect if highscore has been improved
    if (hasImprovedHighscore) {
        particles.renderFireworks(batch, delta);
    }

    inputProcessor.render(batch, font);
    batch.end();

    // render dialog box
    if (currentGameState.equals(GameState.ShowPauseMenuDialog)
            || currentGameState.equals(GameState.ShowGameOverDialog)
            || currentGameState.equals(GameState.ShowContinueDialog)) {
        shapeRenderer.begin(ShapeType.Filled);

        shapeRenderer.setColor(Color.WHITE);
        shapeRenderer.rect(rectangleMenuDialog.x, rectangleMenuDialog.y, rectangleMenuDialog.width,
                rectangleMenuDialog.height);

        shapeRenderer.setColor(Color.DARK_GRAY);
        shapeRenderer.rect(rectangleMenuDialog.x, rectangleMenuDialog.y + rectangleMenuDialog.height - 25,
                rectangleMenuDialog.width, 25);
        shapeRenderer.end();

        batch.begin();
        font = VoraciousViper.getInstance().getAmigaFont();

        font.setColor(Color.WHITE);
        font.draw(batch, Config.GAME_TITLE,
                rectangleMenuDialog.x + rectangleMenuDialog.width / 2
                        - Utils.getFontWidth(Config.GAME_TITLE, font) / 2,
                rectangleMenuDialog.y + rectangleMenuDialog.height - 25 / 2
                        + Utils.getFontHeight(Config.GAME_TITLE, font) / 2);

        font.setColor(Color.BLACK);

        String phrase;
        if (currentGameState.equals(GameState.ShowPauseMenuDialog))
            phrase = VoraciousViper.getInstance().getBundle().get(I18NKeys.GivinUpAlready);
        else if (currentGameState.equals(GameState.ShowContinueDialog))
            phrase = VoraciousViper.getInstance().getBundle().get(I18NKeys.ContinueText);
        else if (hasImprovedHighscore)
            phrase = VoraciousViper.getInstance().getBundle().get(I18NKeys.HighscoreImprovedText);
        else
            phrase = VoraciousViper.getInstance().getBundle().get(I18NKeys.GameOverText);
        font.draw(batch, phrase,
                rectangleMenuDialog.x + rectangleMenuDialog.width / 2 - Utils.getFontWidth(phrase, font) / 2,
                rectangleMenuDialog.y + rectangleMenuDialog.height - 45);

        batch.end();
        stage.draw();
    }
}

From source file:net.bplaced.therefactory.voraciousviper.screens.LogoScreen.java

License:Open Source License

private void updateAndRenderTheRefactoryLogo() {
    updateTheRefactory();//from   ww w.j a va 2 s.  c o m

    batch.setProjectionMatrix(camera.combined);
    batch.begin();

    there.setX((Config.WINDOW_WIDTH - there.getWidth() - factory.getWidth()) / 2);
    there.setY(Config.WINDOW_HEIGHT / 2 - there.getHeight() / 2);
    there.draw(batch);

    batch.end();

    sr.setProjectionMatrix(camera.combined);
    sr.begin(ShapeType.Filled);
    sr.setColor(Color.BLACK);

    // black background of "factory" for overlaying the "there" sprite
    sr.rect(factory.getX(), 0, Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT);

    sr.end();

    batch.begin();
    factory.setX(there.getX() + there.getWidth() + 1 - deltaXFactory);
    factory.setY(there.getY());
    factory.draw(batch);

    VoraciousViper.getInstance().getFadeSprite().setAlpha(alpha);
    VoraciousViper.getInstance().getFadeSprite().draw(batch);
    batch.end();

    sr.begin(ShapeType.Filled);

    // hide letters
    sr.rect(there.getX() + deltaXThere, 0, Config.WINDOW_WIDTH, Config.WINDOW_HEIGHT);

    // cursor
    if (showCursor) {
        sr.setColor(Color.WHITE);
        sr.rect(there.getX() + deltaXCursor, Config.WINDOW_HEIGHT / 2 - 50 / 2, 4, 50);
    }
    sr.end();
}

From source file:net.bplaced.therefactory.voraciousviper.screens.TitleScreen.java

License:Open Source License

@Override
public void render(float delta) {
    super.render(delta);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    update(delta);//from   ww w .  ja  v  a  2s  .  c o m

    // draw gradient background
    shapeRenderer.setProjectionMatrix(camera.combined);
    shapeRenderer.begin(ShapeType.Filled);
    shapeRenderer.rect(0, 0, viewport.getWorldWidth(), viewport.getWorldHeight(), Color.BLACK, Color.BLACK,
            colorScaler, colorScaler);
    shapeRenderer.end();

    stage.getBatch().setProjectionMatrix(camera.combined);
    stage.getBatch().begin();

    if (state.equals(TitleScreenState.ShowSettings)) { // button descriptions
        font.setColor(Color.WHITE);
        font.draw(stage.getBatch(),
                VoraciousViper.getInstance().getBundle().get(I18NKeys.ControlsBy) + " "
                        + VoraciousViper.getInstance().getBundle().get(prefs.getString(PrefsKeys.Controls)),
                buttonsSettings[0][0].getX(), 25);
    } else if (state.equals(TitleScreenState.ShowAbout)) { // about text
        font.setColor(1, 1, 1, 1 - xOffset / xOffsetMax);
        float xOffsetAboutText = paddingFromViewport + xOffset + (xOffset / xOffsetMax) * 50;
        font.draw(stage.getBatch(), VoraciousViper.getInstance().getBundle().format(I18NKeys.AboutText,
                VoraciousViper.getInstance().getVersionName()), xOffsetAboutText, 180);

        spriteThere.setAlpha(1 - xOffset / xOffsetMax);
        spriteThere.setScale(.4f);
        spriteThere.setPosition(xOffsetAboutText + 81, 105);
        spriteThere.draw(stage.getBatch());

        spriteFactory.setAlpha(1 - xOffset / xOffsetMax);
        spriteFactory.setScale(.4f);
        spriteFactory.setPosition(xOffsetAboutText + 125, spriteThere.getY());
        spriteFactory.draw(stage.getBatch());
    }

    if (!state.equals(TitleScreenState.ShowScoreTable)) {
        font.setColor(Color.GRAY);
        if (state.equals(TitleScreenState.ShowMainMenu)) {
            font.draw(stage.getBatch(), VoraciousViper.getInstance().getBundle().get(I18NKeys.CopyrightText),
                    150, 40);
        }
        font.setColor(Color.LIGHT_GRAY);
        font.draw(stage.getBatch(),
                VoraciousViper.getInstance().getBundle().get(I18NKeys.Version) + " "
                        + VoraciousViper.getInstance().getVersionName(),
                spriteTitle.getX() + spriteTitle.getWidth() - 98, spriteTitle.getY() + 5);
    }

    if (Config.SHOW_BADGE) {
        spriteThere.setScale(.5f, .5f);
        spriteThere.setPosition(335, 105);
        spriteThere.draw(stage.getBatch());

        spriteFactory.setScale(.5f, .5f);
        spriteFactory.setPosition(spriteThere.getX() + 65, spriteThere.getY());
        spriteFactory.draw(stage.getBatch());

        spriteBadge.setScale(.5f, .5f);
        spriteBadge.setPosition(-100, 40);
        spriteBadge.draw(stage.getBatch());
    } else {
        stage.getBatch().end();
        stage.draw();
        stage.getBatch().begin();
        if (state.equals(TitleScreenState.ShowMainMenu)) {
            renderMainMenuButtons(); // draw image captions on main menu buttons
        } else if (state.equals(TitleScreenState.ShowScoreTable)) {
            renderScoreTable();
        } else if (state.equals(TitleScreenState.ShowAbout)) {
            stage.getBatch().draw(spriteDownload, buttonSoudtrack.getX() + buttonSoudtrack.getWidth() - 20,
                    buttonSoudtrack.getY() + buttonSoudtrack.getHeight() - 20, 0, 0,
                    spriteDownload.getWidth() / 2f, spriteDownload.getHeight() / 2f,
                    Utils.oscilliate(elapsedTime, scaleMin, scaleMax, period),
                    Utils.oscilliate(elapsedTime, scaleMin, scaleMax, -period),
                    Utils.oscilliate(elapsedTime, -rotate, rotate, period));
            stage.getBatch().draw(spriteStar, buttonRate.getX() + buttonRate.getWidth() - 20,
                    buttonRate.getY() + buttonRate.getHeight() - 20, 0, 0, spriteStar.getWidth() / 2f,
                    spriteStar.getHeight() / 2f, Utils.oscilliate(elapsedTime, scaleMin, scaleMax, period),
                    Utils.oscilliate(elapsedTime, scaleMin, scaleMax, -period),
                    Utils.oscilliate(elapsedTime, -rotate, rotate, period));
        }
    }

    spriteTitle.draw(stage.getBatch());
    spritesViperHeads[indexCurrentHeadSprite].draw(stage.getBatch()); // dot on the 'i' of Vorac_i_ous in the title image

    if (updating) {
        VoraciousViper.getInstance().getFadeSprite().setBounds(0, 0, viewport.getWorldWidth(),
                viewport.getWorldHeight());
        VoraciousViper.getInstance().getFadeSprite().setAlpha(.8f);
        VoraciousViper.getInstance().getFadeSprite().draw(stage.getBatch());
        font.setColor(Color.WHITE);
        String updating = VoraciousViper.getInstance().getBundle().get(I18NKeys.Updating) + "...";
        font.draw(stage.getBatch(), updating,
                viewport.getWorldWidth() / 2 - Utils.getFontWidth(updating, font) / 2,
                viewport.getWorldHeight() / 2 - Utils.getFontHeight(updating, font) / 2);
    }

    stage.getBatch().end();
}

From source file:net.mwplay.cocostudio.ui.AMScreen.java

License:Apache License

@Override
public void show() {
    super.show();
    layout = new GlyphLayout();
    font = new NativeFont(new NativeFontPaint(25));
    font.appendText("...0123456789%");
    font.setColor(Color.BLACK);
    layout.setText(font, "...100%");

    stage = new Stage(new StretchViewport(1280, 720));

    assetManager = new AssetManager();
    assetManager.setLogger(new Logger("log", Logger.DEBUG));
    assetManager.setLoader(CocosScene.class, new CocosLoader(new InternalFileHandleResolver()));
    assetManager.load("mainscene/MenuScene.json", CocosScene.class);
}

From source file:net.mwplay.cocostudio.ui.parser.group.CCCheckBox.java

License:Apache License

@Override
public Actor parse(CocoStudioUIEditor editor, ObjectData widget) {
    TCheckBox.CheckBoxStyle style = new TCheckBox.CheckBoxStyle(null, null, new BitmapFont(), Color.BLACK);

    if (widget.getNodeNormalFileData() != null) {// 

        style.checkboxOff = editor.findDrawable(widget, widget.getNodeNormalFileData());
    }/*from  w ww  . ja v a2 s  . c  om*/
    if (widget.getNormalBackFileData() != null) {// 
        style.checkboxOn = editor.findDrawable(widget, widget.getNormalBackFileData());
    }

    style.setTianCheckBox(editor.findDrawable(widget, widget.getNormalBackFileData()),
            editor.findDrawable(widget, widget.getPressedBackFileData()),
            editor.findDrawable(widget, widget.getDisableBackFileData()),
            editor.findDrawable(widget, widget.getNodeNormalFileData()),
            editor.findDrawable(widget, widget.getNodeDisableFileData()));

    TCheckBox checkBox = new TCheckBox("", style);
    checkBox.setChecked(widget.isDisplayState());
    checkBox.setDisabled(widget.isDisplayState());
    return checkBox;
}

From source file:net.mwplay.cocostudio.ui.widget.TImage.java

License:Apache License

public static TImage makeAlphaImage(float w, float h) {
    Pixmap pixmap = new Pixmap((int) w, (int) h, Pixmap.Format.RGBA8888);
    pixmap.setColor(Color.BLACK);
    pixmap.fill();// ww  w.j a v a 2 s .c  o m
    Texture texture = new Texture(pixmap);
    TImage image = new TImage(texture);
    image.addAction(Actions.alpha(0.5f));
    return image;
}

From source file:net.shad.s3rend.gfx.pixmap.disort.Vortex.java

License:Apache License

/**
 * //from  ww w  .  j av  a  2 s .c  om
 * @param pixmap
 * @param centerX
 * @param centerY
 * @param rayX
 * @param rayY
 * @param twist 
 */
public static void generate(final Pixmap pixmap, float centerX, float centerY, float rayX, float rayY,
        float twist) {

    int width = pixmap.getWidth();
    int height = pixmap.getHeight();

    //
    // Process operator
    //
    int dwCenterX = (int) (centerX * width);
    int dwCenterY = (int) (centerY * height);
    int dwRadiusX = (int) (rayX * width);
    int dwRadiusY = (int) (rayY * height);

    float f1_RadiusX = 1.0f / (float) dwRadiusX;
    float f1_RadiusY = 1.0f / (float) dwRadiusY;
    float radians = twist * PI2;

    Pixmap dstPixmap = new Pixmap(width, height, pixmap.getFormat());
    dstPixmap.setColor(Color.BLACK);
    dstPixmap.fill();

    for (int y = 0; y < height; y++) {

        for (int x = 0; x < width; x++) {

            //
            // Calculate distance
            //
            float dx = (float) (x - dwCenterX) * f1_RadiusX;
            float dy = (float) (y - dwCenterY) * f1_RadiusY;
            float d = (float) Math.sqrt(dx * dx + dy * dy);

            //
            // If distance more radius, olny copy pixels
            //
            if (d > 1.0) {
                int rgb = pixmap.getPixel(x, y);
                dstPixmap.drawPixel(x, y, rgb);
            } else {

                d = (float) Math.cos(d * PI1_2 - PI1_2);
                d = 1.0f - d;

                //
                // Rotate around middle
                //
                float nx = x - dwCenterX;
                float ny = y - dwCenterY;

                float rad = radians * d;
                float bx = nx;
                nx = (float) (bx * Math.cos(rad) - nx * Math.sin(rad) + dwCenterX);
                ny = (float) (bx * Math.sin(rad) + ny * Math.cos(rad) + dwCenterY);

                if (nx >= width) {
                    nx = nx - width;
                }
                if (ny >= height) {
                    ny = ny - height;
                }
                if (nx < 0) {
                    nx = width + nx;
                }
                if (ny < 0) {
                    ny = height + ny;
                }

                //
                // Bilinear sample nearest 4 pixels at rotated pos
                //
                int ix, iy;
                ix = (int) nx;
                iy = (int) ny;

                float fracX = nx - ix;
                float fracY = ny - iy;

                float ul = (1.0f - fracX) * (1.0f - fracY);
                float ll = (1.0f - fracX) * fracY;
                float ur = fracX * (1.0f - fracY);
                float lr = fracX * fracY;

                int wrapx = (ix + 1);
                int wrapy = (iy + 1);

                int rgb = pixmap.getPixel(ix, iy);
                int r = (rgb & 0xff000000) >>> 24;
                int g = (rgb & 0x00ff0000) >>> 16;
                int b = (rgb & 0x0000ff00) >>> 8;

                rgb = pixmap.getPixel(wrapx, iy);
                int r2 = (rgb & 0xff000000) >>> 24;
                int g2 = (rgb & 0x00ff0000) >>> 16;
                int b2 = (rgb & 0x0000ff00) >>> 8;

                rgb = pixmap.getPixel(ix, wrapy);
                int r3 = (rgb & 0xff000000) >>> 24;
                int g3 = (rgb & 0x00ff0000) >>> 16;
                int b3 = (rgb & 0x0000ff00) >>> 8;

                rgb = pixmap.getPixel(wrapx, wrapy);
                int r4 = (rgb & 0xff000000) >>> 24;
                int g4 = (rgb & 0x00ff0000) >>> 16;
                int b4 = (rgb & 0x0000ff00) >>> 8;

                r = (int) (r * ul + r2 * ur + r3 * ll + r4 * lr);
                g = (int) (g * ul + g2 * ur + g3 * ll + g4 * lr);
                b = (int) (b * ul + b2 * ur + b3 * ll + b4 * lr);

                //
                // Clamp
                //
                r = (r < 255) ? r : 255;
                r = (r > 0) ? r : 0;
                g = (g < 255) ? g : 255;
                g = (g > 0) ? g : 0;
                b = (b < 255) ? b : 255;
                b = (b > 0) ? b : 0;

                dstPixmap.drawPixel(x, y, ((int) r << 24) | ((int) g << 16) | ((int) b << 8) | 255);
            }
        }
    }
    pixmap.drawPixmap(dstPixmap, 0, 0);
}

From source file:non.plugins.graphics.java

public Color color(String name) {
    if (name.startsWith("#"))
        return Color.valueOf(name.replace("#", ""));
    if ("clear".equalsIgnoreCase(name))
        return Color.CLEAR;
    else if ("white".equalsIgnoreCase(name))
        return Color.WHITE;
    else if ("black".equalsIgnoreCase(name))
        return Color.BLACK;
    else if ("red".equalsIgnoreCase(name))
        return Color.RED;
    else if ("green".equalsIgnoreCase(name))
        return Color.GREEN;
    else if ("blue".equalsIgnoreCase(name))
        return Color.BLUE;
    else if ("lightgray".equalsIgnoreCase(name))
        return Color.LIGHT_GRAY;
    else if ("gray".equalsIgnoreCase(name))
        return Color.GRAY;
    else if ("darkgray".equalsIgnoreCase(name))
        return Color.DARK_GRAY;
    else if ("pink".equalsIgnoreCase(name))
        return Color.PINK;
    else if ("orange".equalsIgnoreCase(name))
        return Color.ORANGE;
    else if ("yellow".equalsIgnoreCase(name))
        return Color.YELLOW;
    else if ("magenta".equalsIgnoreCase(name))
        return Color.MAGENTA;
    else if ("cyan".equalsIgnoreCase(name))
        return Color.CYAN;
    else if ("olive".equalsIgnoreCase(name))
        return Color.OLIVE;
    else if ("purple".equalsIgnoreCase(name))
        return Color.PURPLE;
    else if ("maroon".equalsIgnoreCase(name))
        return Color.MAROON;
    else if ("teal".equalsIgnoreCase(name))
        return Color.TEAL;
    else if ("navy".equalsIgnoreCase(name))
        return Color.NAVY;
    return Color.CLEAR;
}