List of usage examples for com.google.gwt.typedarrays.client Uint8ArrayNative set
private native void set(JavaScriptObject array, int offset) ;
From source file:org.oscim.gdx.client.GdxGL.java
License:Apache License
@Override public void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, Buffer pixels) { if (pixels == null) { gl.texImage2D(target, level, internalformat, width, height, border, format, type, null); return;/* w ww . j av a 2 s . c o m*/ } Pixmap pixmap = Pixmap.pixmaps.get(((IntBuffer) pixels).get(0)); if (pixmap != null) { gl.texImage2D(target, level, internalformat, format, type, pixmap.getCanvasElement()); } else if (format == GL.ALPHA) { int tmp[] = new int[(width * height) >> 2]; ((IntBuffer) pixels).get(tmp); Uint8ArrayNative v = com.google.gwt.typedarrays.client.Uint8ArrayNative.create(width * height); for (int i = 0, n = (width * height) >> 2; i < n; i++) { v.set(i * 4 + 3, (tmp[i] >> 24) & 0xff); v.set(i * 4 + 2, (tmp[i] >> 16) & 0xff); v.set(i * 4 + 1, (tmp[i] >> 8) & 0xff); v.set(i * 4 + 0, (tmp[i]) & 0xff); } gl.texImage2D(target, level, internalformat, width, height, 0, format, type, v); } }
From source file:org.oscim.gdx.client.GwtGLAdapter.java
License:Open Source License
@Override public void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, Buffer pixels) { if (pixels == null) { gl.texImage2D(target, level, internalformat, width, height, border, format, type, null); return;//from w ww .j av a 2 s .c om } Pixmap pixmap = Pixmap.pixmaps.get(((IntBuffer) pixels).get(0)); if (pixmap != null) { gl.texImage2D(target, level, internalformat, format, type, pixmap.getCanvasElement()); } else if (format == GL20.GL_ALPHA) { int tmp[] = new int[(width * height) >> 2]; ((IntBuffer) pixels).get(tmp); Uint8ArrayNative v = com.google.gwt.typedarrays.client.Uint8ArrayNative.create(width * height); for (int i = 0, n = (width * height) >> 2; i < n; i++) { v.set(i * 4 + 3, (tmp[i] >> 24) & 0xff); v.set(i * 4 + 2, (tmp[i] >> 16) & 0xff); v.set(i * 4 + 1, (tmp[i] >> 8) & 0xff); v.set(i * 4 + 0, (tmp[i]) & 0xff); } gl.texImage2D(target, level, internalformat, width, height, 0, format, type, v); } }