v0.9.3: added casts to buffer methods to prevent JDK 9+ issues

This commit is contained in:
Evan Debenham 2021-05-09 17:19:15 -04:00
parent 9412eb81f4
commit ef8750b326
15 changed files with 51 additions and 34 deletions

View File

@ -23,6 +23,7 @@ package com.watabou.glwrap;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import java.nio.Buffer;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;

View File

@ -24,6 +24,7 @@ package com.watabou.glwrap;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Pixmap;
import java.nio.Buffer;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
import java.nio.IntBuffer; import java.nio.IntBuffer;
@ -108,7 +109,7 @@ public class Texture {
order( ByteOrder.nativeOrder() ). order( ByteOrder.nativeOrder() ).
asIntBuffer(); asIntBuffer();
imageBuffer.put( pixels ); imageBuffer.put( pixels );
imageBuffer.position( 0 ); ((Buffer)imageBuffer).position( 0 );
Gdx.gl.glTexImage2D( Gdx.gl.glTexImage2D(
Gdx.gl.GL_TEXTURE_2D, Gdx.gl.GL_TEXTURE_2D,
@ -130,7 +131,7 @@ public class Texture {
allocateDirect( w * h ). allocateDirect( w * h ).
order( ByteOrder.nativeOrder() ); order( ByteOrder.nativeOrder() );
imageBuffer.put( pixels ); imageBuffer.put( pixels );
imageBuffer.position( 0 ); ((Buffer)imageBuffer).position( 0 );
Gdx.gl.glPixelStorei( Gdx.gl.GL_UNPACK_ALIGNMENT, 1 ); Gdx.gl.glPixelStorei( Gdx.gl.GL_UNPACK_ALIGNMENT, 1 );

View File

@ -23,6 +23,7 @@ package com.watabou.glwrap;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import java.nio.Buffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.util.ArrayList; import java.util.ArrayList;
@ -74,7 +75,7 @@ public class Vertexbuffer {
public void updateGLData(){ public void updateGLData(){
if (updateStart == -1) return; if (updateStart == -1) return;
vertices.position(updateStart); ((Buffer)vertices).position(updateStart);
bind(); bind();
if (updateStart == 0 && updateEnd == vertices.limit()){ if (updateStart == 0 && updateEnd == vertices.limit()){

View File

@ -28,6 +28,7 @@ import com.watabou.glwrap.Quad;
import com.watabou.glwrap.Vertexbuffer; import com.watabou.glwrap.Vertexbuffer;
import com.watabou.utils.RectF; import com.watabou.utils.RectF;
import java.nio.Buffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
public class BitmapText extends Visual { public class BitmapText extends Visual {
@ -74,7 +75,7 @@ public class BitmapText extends Visual {
if (dirty) { if (dirty) {
updateVertices(); updateVertices();
quads.limit(quads.position()); ((Buffer)quads).limit(quads.position());
if (buffer == null) if (buffer == null)
buffer = new Vertexbuffer(quads); buffer = new Vertexbuffer(quads);
else else

View File

@ -27,6 +27,7 @@ import com.watabou.glwrap.Quad;
import com.watabou.glwrap.Vertexbuffer; import com.watabou.glwrap.Vertexbuffer;
import com.watabou.utils.RectF; import com.watabou.utils.RectF;
import java.nio.Buffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
public class Image extends Visual { public class Image extends Visual {
@ -156,7 +157,7 @@ public class Image extends Visual {
super.draw(); super.draw();
if (dirty) { if (dirty) {
verticesBuffer.position( 0 ); ((Buffer)verticesBuffer).position( 0 );
verticesBuffer.put( vertices ); verticesBuffer.put( vertices );
if (buffer == null) if (buffer == null)
buffer = new Vertexbuffer( verticesBuffer ); buffer = new Vertexbuffer( verticesBuffer );

View File

@ -27,6 +27,7 @@ import com.watabou.glwrap.Quad;
import com.watabou.glwrap.Vertexbuffer; import com.watabou.glwrap.Vertexbuffer;
import com.watabou.utils.RectF; import com.watabou.utils.RectF;
import java.nio.Buffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
public class NinePatch extends Visual { public class NinePatch extends Visual {
@ -91,7 +92,7 @@ public class NinePatch extends Visual {
protected void updateVertices() { protected void updateVertices() {
quads.position( 0 ); ((Buffer)quads).position( 0 );
float right = width - marginRight; float right = width - marginRight;
float bottom = height - marginBottom; float bottom = height - marginBottom;

View File

@ -28,6 +28,7 @@ import com.watabou.glwrap.Quad;
import com.watabou.glwrap.Uniform; import com.watabou.glwrap.Uniform;
import com.watabou.glwrap.Vertexbuffer; import com.watabou.glwrap.Vertexbuffer;
import java.nio.Buffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.nio.ShortBuffer; import java.nio.ShortBuffer;
@ -72,11 +73,11 @@ public class NoosaScript extends Script {
} }
public void drawElements( FloatBuffer vertices, ShortBuffer indices, int size ) { public void drawElements( FloatBuffer vertices, ShortBuffer indices, int size ) {
vertices.position( 0 ); ((Buffer)vertices).position( 0 );
aXY.vertexPointer( 2, 4, vertices ); aXY.vertexPointer( 2, 4, vertices );
vertices.position( 2 ); ((Buffer)vertices).position( 2 );
aUV.vertexPointer( 2, 4, vertices ); aUV.vertexPointer( 2, 4, vertices );
Quad.releaseIndices(); Quad.releaseIndices();
@ -85,11 +86,11 @@ public class NoosaScript extends Script {
} }
public void drawQuad( FloatBuffer vertices ) { public void drawQuad( FloatBuffer vertices ) {
vertices.position( 0 ); ((Buffer)vertices).position( 0 );
aXY.vertexPointer( 2, 4, vertices ); aXY.vertexPointer( 2, 4, vertices );
vertices.position( 2 ); ((Buffer)vertices).position( 2 );
aUV.vertexPointer( 2, 4, vertices ); aUV.vertexPointer( 2, 4, vertices );
Gdx.gl20.glDrawElements( Gdx.gl20.GL_TRIANGLES, Quad.SIZE, Gdx.gl20.GL_UNSIGNED_SHORT, 0 ); Gdx.gl20.glDrawElements( Gdx.gl20.GL_TRIANGLES, Quad.SIZE, Gdx.gl20.GL_UNSIGNED_SHORT, 0 );
@ -114,11 +115,11 @@ public class NoosaScript extends Script {
if (size == 0) { if (size == 0) {
return; return;
} }
vertices.position( 0 ); ((Buffer)vertices).position( 0 );
aXY.vertexPointer( 2, 4, vertices ); aXY.vertexPointer( 2, 4, vertices );
vertices.position( 2 ); ((Buffer)vertices).position( 2 );
aUV.vertexPointer( 2, 4, vertices ); aUV.vertexPointer( 2, 4, vertices );
Gdx.gl20.glDrawElements( Gdx.gl20.GL_TRIANGLES, Quad.SIZE * size, Gdx.gl20.GL_UNSIGNED_SHORT, 0 ); Gdx.gl20.glDrawElements( Gdx.gl20.GL_TRIANGLES, Quad.SIZE * size, Gdx.gl20.GL_UNSIGNED_SHORT, 0 );

View File

@ -33,6 +33,7 @@ import com.badlogic.gdx.math.Matrix4;
import com.watabou.glwrap.Matrix; import com.watabou.glwrap.Matrix;
import com.watabou.glwrap.Quad; import com.watabou.glwrap.Quad;
import java.nio.Buffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.util.HashMap; import java.util.HashMap;
@ -155,7 +156,7 @@ public class RenderedText extends Image {
FloatBuffer toOpenGL; FloatBuffer toOpenGL;
if (buffers.containsKey(count/20)){ if (buffers.containsKey(count/20)){
toOpenGL = buffers.get(count/20); toOpenGL = buffers.get(count/20);
toOpenGL.position(0); ((Buffer)toOpenGL).position(0);
} else { } else {
toOpenGL = Quad.createSet(count / 20); toOpenGL = Quad.createSet(count / 20);
buffers.put(count/20, toOpenGL); buffers.put(count/20, toOpenGL);
@ -190,8 +191,8 @@ public class RenderedText extends Image {
toOpenGL.put(vertices); toOpenGL.put(vertices);
} }
toOpenGL.position(0); ((Buffer)toOpenGL).position(0);
NoosaScript script = NoosaScript.get(); NoosaScript script = NoosaScript.get();

View File

@ -28,6 +28,7 @@ import com.watabou.glwrap.Vertexbuffer;
import com.watabou.utils.Rect; import com.watabou.utils.Rect;
import com.watabou.utils.RectF; import com.watabou.utils.RectF;
import java.nio.Buffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.util.Arrays; import java.util.Arrays;
@ -136,7 +137,7 @@ public class Tilemap extends Visual {
bottomRightUpdating = pos + 1; bottomRightUpdating = pos + 1;
quads.position(pos*16); ((Buffer)quads).position(pos*16);
uv = tileset.get(data[pos]); uv = tileset.get(data[pos]);

View File

@ -30,6 +30,7 @@ import com.watabou.noosa.NoosaScript;
import com.watabou.noosa.Visual; import com.watabou.noosa.Visual;
import com.watabou.utils.PointF; import com.watabou.utils.PointF;
import java.nio.Buffer;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
@ -113,8 +114,8 @@ public class CircleArc extends Visual {
dirty = false; dirty = false;
float v[] = new float[4]; float v[] = new float[4];
indices.position( 0 ); ((Buffer)indices).position( 0 );
vertices.position( 0 ); ((Buffer)vertices).position( 0 );
v[0] = 0; v[0] = 0;
v[1] = 0; v[1] = 0;
@ -144,8 +145,8 @@ public class CircleArc extends Visual {
indices.put( (short)(1 + i * 2) ); indices.put( (short)(1 + i * 2) );
indices.put( (short)(2 + i * 2) ); indices.put( (short)(2 + i * 2) );
} }
indices.position( 0 ); ((Buffer)indices).position( 0 );
} }
@Override @Override

View File

@ -31,6 +31,7 @@ import com.watabou.noosa.NoosaScript;
import com.watabou.noosa.Visual; import com.watabou.noosa.Visual;
import com.watabou.utils.PointF; import com.watabou.utils.PointF;
import java.nio.Buffer;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.ByteOrder; import java.nio.ByteOrder;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
@ -99,8 +100,8 @@ public class Flare extends Visual {
indices.put( (short)(1 + i * 2) ); indices.put( (short)(1 + i * 2) );
indices.put( (short)(2 + i * 2) ); indices.put( (short)(2 + i * 2) );
} }
indices.position( 0 ); ((Buffer)indices).position( 0 );
} }
public Flare color( int color, boolean lightMode ) { public Flare color( int color, boolean lightMode ) {

View File

@ -56,6 +56,7 @@ import com.watabou.utils.Point;
import com.watabou.utils.PointF; import com.watabou.utils.PointF;
import com.watabou.utils.Random; import com.watabou.utils.Random;
import java.nio.Buffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.util.Calendar; import java.util.Calendar;
@ -289,8 +290,8 @@ public class SurfaceScene extends PixelScene {
vertices[12] = 0; vertices[12] = 0;
vertices[13] = 1; vertices[13] = 1;
verticesBuffer.position( 0 ); ((Buffer)verticesBuffer).position( 0 );
verticesBuffer.put( vertices ); verticesBuffer.put( vertices );
} }

View File

@ -56,6 +56,8 @@ import com.watabou.utils.Callback;
import com.watabou.utils.PointF; import com.watabou.utils.PointF;
import com.watabou.utils.Random; import com.watabou.utils.Random;
import java.nio.Buffer;
public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip.Listener { public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip.Listener {
// Color constants for floating text // Color constants for floating text
@ -639,7 +641,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip
if (renderShadow) { if (renderShadow) {
if (dirty) { if (dirty) {
verticesBuffer.position(0); ((Buffer)verticesBuffer).position(0);
verticesBuffer.put(vertices); verticesBuffer.put(vertices);
if (buffer == null) if (buffer == null)
buffer = new Vertexbuffer(verticesBuffer); buffer = new Vertexbuffer(verticesBuffer);

View File

@ -43,6 +43,8 @@ import com.watabou.noosa.particles.Emitter;
import com.watabou.utils.PointF; import com.watabou.utils.PointF;
import com.watabou.utils.Random; import com.watabou.utils.Random;
import java.nio.Buffer;
public class ItemSprite extends MovieClip { public class ItemSprite extends MovieClip {
public static final int SIZE = 16; public static final int SIZE = 16;
@ -272,7 +274,7 @@ public class ItemSprite extends MovieClip {
if (renderShadow) { if (renderShadow) {
if (dirty) { if (dirty) {
verticesBuffer.position(0); ((Buffer)verticesBuffer).position(0);
verticesBuffer.put(vertices); verticesBuffer.put(vertices);
if (buffer == null) if (buffer == null)
buffer = new Vertexbuffer(verticesBuffer); buffer = new Vertexbuffer(verticesBuffer);

View File

@ -37,6 +37,7 @@ import com.watabou.noosa.NoosaScript;
import com.watabou.noosa.Visual; import com.watabou.noosa.Visual;
import com.watabou.utils.RectF; import com.watabou.utils.RectF;
import java.nio.Buffer;
import java.nio.FloatBuffer; import java.nio.FloatBuffer;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@ -97,8 +98,8 @@ public class KeyDisplay extends Visual {
if (dirty){ if (dirty){
updateVertices(); updateVertices();
quads.limit(quads.position()); ((Buffer)quads).limit(quads.position());
if (buffer == null) if (buffer == null)
buffer = new Vertexbuffer(quads); buffer = new Vertexbuffer(quads);
else else