private void addVertex(final float x, final float y, final float tx, final float ty, final Color c) { vertexPosBuffer.put(x); vertexPosBuffer.put(getHeight() - y); vertexTexCoordBuffer.put(tx); vertexTexCoordBuffer.put(ty); vertexColorBuffer.put(c.getRed()); vertexColorBuffer.put(c.getGreen()); vertexColorBuffer.put(c.getBlue()); vertexColorBuffer.put(c.getAlpha()); } }
private int convertColor(Color color) { int color2 = 0; color2 |= ((int) (255.0 * color.getAlpha())) << 24; color2 |= ((int) (255.0 * color.getBlue())) << 16; color2 |= ((int) (255.0 * color.getGreen())) << 8; color2 |= ((int) (255.0 * color.getRed())); return color2; }
private ColorRGBA convertColor(Color inColor, ColorRGBA outColor) { return outColor.set(inColor.getRed(), inColor.getGreen(), inColor.getBlue(), inColor.getAlpha()); }
public void renderQuad(int x, int y, int width, int height, Color color) { //We test for alpha >0 as an optimization to prevent the render of completely transparent quads. //Nifty use layers that are often used for logical positionning and not rendering. //each layer is rendered as a quad, but that can bump up the number of geometry rendered by a lot. //Since we disable depth write, there is absolutely no point in rendering those quads //This optimization can result in a huge increase of perfs on complex Nifty UIs. if(color.getAlpha() >0){ colorMaterial.setColor("Color", convertColor(color, tempColor)); tempMat.loadIdentity(); tempMat.setTranslation(x, getHeight() - y, 0); tempMat.setScale(width, height, 0); rm.setWorldMatrix(tempMat); rm.setForcedRenderState(renderState); colorMaterial.render(quadGeom, rm); } //System.out.format("renderQuad1(%d, %d, %d, %d, %s)\n", x, y, width, height, color.toString()); }
private void saveColorAlpha() { colorAlpha = NiftyRenderEngineImpl.this.color.getAlpha(); colorAlphaChanged = NiftyRenderEngineImpl.this.colorAlphaChanged; }
@Override public void renderImage( @Nonnull RenderImage image, int x, int y, int w, int h, int srcX, int srcY, int srcW, int srcH, @Nonnull Color color, float scale, int centerX, int centerY) { if (!(image instanceof RenderImageJava2dImpl)) { return; } RenderImageJava2dImpl renderImage = (RenderImageJava2dImpl) image; Composite comp = graphics.getComposite(); graphics.setClip(clipRectangle); graphics.setComposite(AlphaComposite.getInstance( AlphaComposite.SRC_OVER, color.getAlpha())); graphics.drawImage(renderImage.image, x, y, x + w, y + h, srcX, srcY, srcX + srcW, srcY + srcH, null); graphics.setComposite(comp); }
@Override public void renderImage( @Nonnull RenderImage image, int x, int y, int w, int h, int srcX, int srcY, int srcW, int srcH, @Nonnull Color color, float scale, int centerX, int centerY) { if (!(image instanceof RenderImageJava2dImpl)) { return; } RenderImageJava2dImpl renderImage = (RenderImageJava2dImpl) image; Composite comp = graphics.getComposite(); graphics.setClip(clipRectangle); graphics.setComposite(AlphaComposite.getInstance( AlphaComposite.SRC_OVER, color.getAlpha())); graphics.drawImage(renderImage.image, x, y, x + w, y + h, srcX, srcY, srcX + srcW, srcY + srcH, null); graphics.setComposite(comp); }
@Nonnull private java.awt.Color convertNiftyColor(@Nonnull Color color) { return new java.awt.Color(color.getRed(), color.getGreen(), color .getBlue(), color.getAlpha()); }
@Nonnull private java.awt.Color convertNiftyColor(@Nonnull Color color) { return new java.awt.Color(color.getRed(), color.getGreen(), color .getBlue(), color.getAlpha()); }
/** * linear interpolate between the start color and the end color and updates this color. * * @param start start color * @param end end color * @param t t in [0,1] */ public void linear(@Nonnull final Color start, @Nonnull final Color end, final float t) { this.red = start.getRed() + t * (end.red - start.getRed()); this.green = start.getGreen() + t * (end.green - start.getGreen()); this.blue = start.getBlue() + t * (end.blue - start.getBlue()); this.alpha = start.getAlpha() + t * (end.alpha - start.getAlpha()); }
/** * Set only the color component of the given color. This assumes that alpha has already been changed. * * @param newColor color */ @Override public void setColorIgnoreAlpha(@Nonnull final Color newColor) { color.setRed(newColor.getRed()); color.setGreen(newColor.getGreen()); color.setBlue(newColor.getBlue()); colorChanged = true; if (colorAlphaChanged && color.getAlpha() > newColor.getAlpha()) { color.setAlpha(newColor.getAlpha()); colorAlphaChanged = true; } }
public Color(@Nonnull final Color colorParam) { this.red = colorParam.getRed(); this.green = colorParam.getGreen(); this.blue = colorParam.getBlue(); this.alpha = colorParam.getAlpha(); this.colorString = colorParam.getColorString(); }
@Override public void renderFont( @Nonnull final RenderFont font, @Nonnull final String text, final int x, final int y, @Nonnull final Color color, final float sizeX, final float sizeY) { log.finest("renderFont()"); BatchRenderFont renderFont = (BatchRenderFont) font; renderFont.getBitmapFont().renderText( x, y, text, sizeX, sizeY, color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha()); }
@Override public void renderQuad( final int x, final int y, final int width, final int height, @Nonnull final Color topLeft, @Nonnull final Color topRight, @Nonnull final Color bottomRight, @Nonnull final Color bottomLeft) { if (isColorAlphaChanged()) { Color a = new Color(topLeft, color.getAlpha()); Color b = new Color(topRight, color.getAlpha()); Color c = new Color(bottomRight, color.getAlpha()); Color d = new Color(bottomLeft, color.getAlpha()); renderDevice.renderQuad(x + getX(), y + getY(), width, height, a, b, c, d); } else { renderDevice.renderQuad(x + getX(), y + getY(), width, height, topLeft, topRight, bottomRight, bottomLeft); } }
@Override public void setColor(@Nonnull final Color colorParam) { color.setRed(colorParam.getRed()); color.setGreen(colorParam.getGreen()); color.setBlue(colorParam.getBlue()); color.setAlpha(colorParam.getAlpha()); colorChanged = true; colorAlphaChanged = true; }
@Override public void activate( @Nonnull final Nifty nifty, @Nonnull final Element element, @Nonnull final EffectProperties parameter) { // startColor and endColor (only alpha component used) are the old version of this // and are kept here only for backward compatibility. The current attributes are "start" and "end" alpha values. if (parameter.getProperty("startColor") != null) { start = new Alpha(new Color(parameter.getProperty("startColor", "#000000ff")).getAlpha()); } if (parameter.getProperty("endColor") != null) { end = new Alpha(new Color(parameter.getProperty("endColor", "#ffffffff")).getAlpha()); } if (parameter.getProperty("start") != null) { start = new Alpha(parameter.getProperty("start")); } if (parameter.getProperty("end") != null) { end = new Alpha(parameter.getProperty("end")); } interpolator = parameter.getInterpolator(); }
@Override public int preProcess(@Nonnull final String text, final int offset) { int index = offset; colorValueParser.isColor(text, index); while (colorValueParser.isColor()) { final Color color = colorValueParser.getColor(); assert color != null; textColor.setRed(color.getRed()); textColor.setGreen(color.getGreen()); textColor.setBlue(color.getBlue()); textColor.setAlpha(color.getAlpha()); hasColor = true; index = colorValueParser.getNextIndex(); if (index >= text.length()) { return index; } colorValueParser.isColor(text, index); } return index; }