Example usage for com.google.gwt.corp.gfx.client.canvas CanvasElement getContext2D

List of usage examples for com.google.gwt.corp.gfx.client.canvas CanvasElement getContext2D

Introduction

In this page you can find the example usage for com.google.gwt.corp.gfx.client.canvas CanvasElement getContext2D.

Prototype

public final native CanvasRenderingContext2D getContext2D() ;

Source Link

Document

Gets the 2D rendering context that may be used to draw on this canvas.

Usage

From source file:jake2.gwt.client.GwtWebGLRenderer.java

License:Open Source License

public void setPicDataLowLevel(image_t image, ImageElement img) {
    CanvasElement canvas = (CanvasElement) Document.get().createElement("canvas");
    int w = img.getWidth();
    int h = img.getHeight();
    canvas.setWidth(w);/*from www .  j av a 2s  .  c o  m*/
    canvas.setHeight(h);
    //      canvas.getStyle().setProperty("border", "solid 1px green");
    canvas.getStyle().setDisplay(Display.NONE);
    Document.get().getBody().appendChild(canvas);
    CanvasRenderingContext2D ctx = canvas.getContext2D();
    ctx.drawImage(img, 0, 0);
    ImageData data = ctx.getImageData(0, 0, w, h);
    CanvasPixelArray pixels = data.getData();

    int count = w * h * 4;
    byte[] pic = new byte[count];
    for (int i = 0; i < count; i += 4) {
        pic[i + 3] = (byte) pixels.get(i + 3); // alpha, then bgr
        pic[i + 2] = (byte) pixels.get(i + 2);
        pic[i + 1] = (byte) pixels.get(i + 1);
        pic[i] = (byte) pixels.get(i);
    }

    GL_SetPicData(image, pic, w, h, 32);
}

From source file:jake2.gwt.client.GwtWebGLRenderer.java

License:Open Source License

protected void debugLightmap(IntBuffer lightmapBuffer, int w, int h, float scale) {
    CanvasElement canvas = (CanvasElement) Document.get().createElement("canvas");
    canvas.setWidth(w);/*  ww w .  j a v a  2s .  com*/
    canvas.setHeight(h);
    Document.get().getBody().appendChild(canvas);
    ImageData id = canvas.getContext2D().createImageData(w, h);
    CanvasPixelArray pd = id.getData();
    for (int i = 0; i < w * h; i++) {
        int abgr = lightmapBuffer.get(i);
        pd.set(i * 4, abgr & 255);
        pd.set(i * 4 + 1, abgr & 255);
        pd.set(i * 4 + 2, abgr & 255);
        pd.set(i * 4 + 3, abgr & 255);
    }
    canvas.getContext2D().putImageData(id, 0, 0);
}

From source file:jake2.gwt.client.GwtWireframeGLRenderer.java

License:Open Source License

public GwtWireframeGLRenderer(final CanvasElement canvas) {
    this.canvas = canvas;

    this.gl = new WireframeRenderer(new LineDrawing.SwapBuffersCallback() {
        public LineDrawing glSwapBuffers() {
            ctx = canvas.getContext2D();
            ctx.setFont("8px Courier");
            ctx.setStrokeStyleColor("#00ff00");
            ctx.setFillStyleColor("#00ff00");
            return ctx;
        }//from   w  w w  . jav  a 2 s .co  m
    }, canvas.getWidth(), canvas.getHeight());
    init();
}