Search in sources :

Example 1 with RenderImageJme

use of com.jme3.niftygui.RenderImageJme in project TeachingInSimulation by ScOrPiOzzy.

the class ConnectionController method createXianLanItem.

private Element createXianLanItem(final String itemText, String colorParam, final int index) {
    Element parent = findById("xianlanColorsContent");
    Element ele = new CustomControlCreator(NiftyIdCreator.generate(), "wireAndPipeItem") {

        {
            set("label", itemText);
            setInteractOnClick("linkTransduscers(" + itemText + ")");
            if (index == 0) {
                ControlEffectAttributes ctrlEffectAttributes = new ControlEffectAttributes();
                ctrlEffectAttributes.setName("border");
                ctrlEffectAttributes.setAttribute("border", "0,0,0,1");
                ctrlEffectAttributes.setAttribute("color", "#333333");
                addEffectsOnShow(ctrlEffectAttributes);
            }
            ControlEffectOnHoverAttributes ctrlEffectAttributes = new ControlEffectOnHoverAttributes();
            ctrlEffectAttributes.setName("border");
            ctrlEffectAttributes.setAttribute("border", "2");
            ctrlEffectAttributes.setAttribute("color", "#009900");
            ctrlEffectAttributes.setAttribute("inset", "3");
            addEffectsOnHover(ctrlEffectAttributes);
            ControlEffectAttributes effect = new ControlEffectAttributes();
            effect.setName("border");
            effect.setAttribute("border", "2");
            effect.setAttribute("color", "#009900");
            effect.setAttribute("inset", "3");
            addEffectsOnActive(effect);
        }
    }.create(nifty, screen, parent);
    ImageRenderer imageRender = ele.findElementByName("#colorImage").getRenderer(ImageRenderer.class);
    InputStream resource = getClass().getClassLoader().getResourceAsStream("com/cas/circuit/ui/resorces/wire32.png");
    BufferedImage img = ImageUtil.getColorImage("0,0,1,1", colorParam, resource);
    Image image = load(img, true);
    Texture2D texture2D = new Texture2D(image);
    RenderImage createImage = new RenderImageJme(texture2D);
    imageRender.setImage(new NiftyImage(nifty.getRenderEngine(), createImage));
    return ele;
}
Also used : ImageRenderer(de.lessvoid.nifty.elements.render.ImageRenderer) Texture2D(com.jme3.texture.Texture2D) ControlEffectAttributes(de.lessvoid.nifty.controls.dynamic.attributes.ControlEffectAttributes) NiftyImage(de.lessvoid.nifty.render.NiftyImage) InputStream(java.io.InputStream) Element(de.lessvoid.nifty.elements.Element) ControlEffectOnHoverAttributes(de.lessvoid.nifty.controls.dynamic.attributes.ControlEffectOnHoverAttributes) RenderImage(de.lessvoid.nifty.spi.render.RenderImage) RenderImageJme(com.jme3.niftygui.RenderImageJme) Image(com.jme3.texture.Image) NiftyImage(de.lessvoid.nifty.render.NiftyImage) BufferedImage(java.awt.image.BufferedImage) RenderImage(de.lessvoid.nifty.spi.render.RenderImage) CustomControlCreator(de.lessvoid.nifty.controls.dynamic.CustomControlCreator) BufferedImage(java.awt.image.BufferedImage)

Example 2 with RenderImageJme

use of com.jme3.niftygui.RenderImageJme in project jmonkeyengine by jMonkeyEngine.

the class RenderDeviceJme method renderImage.

public void renderImage(RenderImage image, int x, int y, int w, int h, int srcX, int srcY, int srcW, int srcH, Color color, float scale, int centerX, int centerY) {
    RenderImageJme jmeImage = (RenderImageJme) image;
    Texture2D texture = jmeImage.getTexture();
    textureColorMaterial.setColor("Color", convertColor(color, tempColor));
    textureColorMaterial.setTexture("ColorMap", texture);
    float imageWidth = jmeImage.getWidth();
    float imageHeight = jmeImage.getHeight();
    FloatBuffer texCoords = (FloatBuffer) quadModTC.getData();
    float startX = srcX / imageWidth;
    float startY = srcY / imageHeight;
    float endX = startX + (srcW / imageWidth);
    float endY = startY + (srcH / imageHeight);
    startY = 1f - startY;
    endY = 1f - endY;
    texCoords.rewind();
    texCoords.put(startX).put(startY);
    texCoords.put(endX).put(startY);
    texCoords.put(endX).put(endY);
    texCoords.put(startX).put(endY);
    texCoords.flip();
    quadModTC.updateData(texCoords);
    quad.clearBuffer(Type.TexCoord);
    quad.setBuffer(quadModTC);
    float x0 = centerX + (x - centerX) * scale;
    float y0 = centerY + (y - centerY) * scale;
    tempMat.loadIdentity();
    tempMat.setTranslation(x0, getHeight() - y0, 0);
    tempMat.setScale(w * scale, h * scale, 0);
    rm.setWorldMatrix(tempMat);
    rm.setForcedRenderState(renderState);
    textureColorMaterial.render(quadGeom, rm);
//System.out.format("renderImage2(%s, %d, %d, %d, %d, %d, %d, %d, %d, %s, %f, %d, %d)\n", texture.getKey().toString(),
//                                                                                       x, y, w, h, srcX, srcY, srcW, srcH,
//                                                                                       color.toString(), scale, centerX, centerY);
}
Also used : Texture2D(com.jme3.texture.Texture2D) FloatBuffer(java.nio.FloatBuffer)

Aggregations

Texture2D (com.jme3.texture.Texture2D)2 RenderImageJme (com.jme3.niftygui.RenderImageJme)1 Image (com.jme3.texture.Image)1 CustomControlCreator (de.lessvoid.nifty.controls.dynamic.CustomControlCreator)1 ControlEffectAttributes (de.lessvoid.nifty.controls.dynamic.attributes.ControlEffectAttributes)1 ControlEffectOnHoverAttributes (de.lessvoid.nifty.controls.dynamic.attributes.ControlEffectOnHoverAttributes)1 Element (de.lessvoid.nifty.elements.Element)1 ImageRenderer (de.lessvoid.nifty.elements.render.ImageRenderer)1 NiftyImage (de.lessvoid.nifty.render.NiftyImage)1 RenderImage (de.lessvoid.nifty.spi.render.RenderImage)1 BufferedImage (java.awt.image.BufferedImage)1 InputStream (java.io.InputStream)1 FloatBuffer (java.nio.FloatBuffer)1