Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.0.0-b6 #105

Merged
merged 9 commits into from
Jul 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
[1.0.0-SNAPSHOT]
-

[1.0.0-b6]
- Update libgdx to version 1.12.0
- Update jParser to version b3
- Update teavm to version 0.9.0-dev-7

[1.0.0-b5]
- Option in App config to show download logs. Default is set to false.
- Implement setApplicationLogger method.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.badlogic.gdx.utils.reflect.ArrayReflection;
import com.badlogic.gdx.utils.reflect.ReflectionException;
import com.github.xpenatan.gdx.backends.teavm.plugins.TeaReflectionSupplier;
import com.github.xpenatan.gdx.backends.teavm.util.GenericTypeProvider;
import com.github.xpenatan.gdx.backends.teavm.utils.GenericTypeProvider;
import java.lang.reflect.GenericArrayType;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
Expand Down
104 changes: 52 additions & 52 deletions backends/backend-teavm/emu/com/badlogic/gdx/graphics/PixmapEmu.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public static int toGlType (FormatEmu format) {
private HTMLVideoElementWrapper videoElement;

private int color = 0;
private Gdx2DPixmapEmu pixmap;
private Gdx2DPixmapEmu nativePixmap;
private boolean disposed;

public static void downloadFromUrl(String url, final Pixmap.DownloadPixmapResponseListener responseListener) {
Expand Down Expand Up @@ -126,7 +126,7 @@ public PixmapEmu(FileHandle file) {
if(config.useNativePixmap) {
Int8ArrayWrapper response = object.getData();
byte[] bytes = Gdx2DPixmapEmu.get(response);
pixmap = new Gdx2DPixmapEmu(bytes, 0, bytes.length, 0);
nativePixmap = new Gdx2DPixmapEmu(bytes, 0, bytes.length, 0);
initPixmapEmu(-1, -1, null, null);
}
else {
Expand All @@ -149,7 +149,7 @@ public PixmapEmu(byte[] encodedData, int offset, int len) {
TeaApplication app = (TeaApplication)Gdx.app;
TeaApplicationConfiguration config = app.getConfig();
if(config.useNativePixmap) {
pixmap = new Gdx2DPixmapEmu(encodedData, offset, len, 0);
nativePixmap = new Gdx2DPixmapEmu(encodedData, offset, len, 0);
initPixmapEmu(-1, -1, null, null);
}
}
Expand Down Expand Up @@ -234,11 +234,11 @@ private void ensureCanvasExists() {
}

public boolean canUsePixmapData() {
return canvas == null && pixmap != null;
return canvas == null && nativePixmap != null;
}

public Uint8ArrayWrapper getPixmapData() {
return pixmap.getPixels();
return nativePixmap.getPixels();
}

public boolean canUseImageElement() {
Expand All @@ -263,7 +263,7 @@ public HTMLVideoElementWrapper getVideoElement() {
* @param color the color, encoded as RGBA8888
*/
public void setColor(int color) {
if(pixmap != null) {
if(nativePixmap != null) {
this.color = color;
}
else {
Expand All @@ -287,7 +287,7 @@ public void setColor(int color) {
* @param a The alpha component.
*/
public void setColor(float r, float g, float b, float a) {
if(pixmap != null) {
if(nativePixmap != null) {
this.color = Color.rgba8888(r, g, b, a);
}
else {
Expand Down Expand Up @@ -315,8 +315,8 @@ public void setColor(Color color) {
* Fills the complete bitmap with the currently set color.
*/
public void fill() {
if(pixmap != null) {
pixmap.clear(color);
if(nativePixmap != null) {
nativePixmap.clear(color);
}
else {
ensureCanvasExists();
Expand All @@ -341,8 +341,8 @@ public void fill() {
* @param y2 The y-coordinate of the first point
*/
public void drawLine(int x, int y, int x2, int y2) {
if(pixmap != null) {
pixmap.drawLine(x, y, x2, y2, color);
if(nativePixmap != null) {
nativePixmap.drawLine(x, y, x2, y2, color);
}
else {
line(x, y, x2, y2, DrawType.STROKE);
Expand All @@ -359,8 +359,8 @@ public void drawLine(int x, int y, int x2, int y2) {
* @param height The height in pixels
*/
public void drawRectangle(int x, int y, int width, int height) {
if(pixmap != null) {
pixmap.drawRect(x, y, width, height, color);
if(nativePixmap != null) {
nativePixmap.drawRect(x, y, width, height, color);
}
else {
rectangle(x, y, width, height, DrawType.STROKE);
Expand All @@ -375,7 +375,7 @@ public void drawRectangle(int x, int y, int width, int height) {
* @param y The target y-coordinate (top left corner)
*/
public void drawPixmap(PixmapEmu pixmap, int x, int y) {
if(pixmap != null) {
if(nativePixmap != null) {
drawPixmap(pixmap, x, y, 0, 0, pixmap.getWidth(), pixmap.getHeight());
}
else {
Expand All @@ -385,8 +385,8 @@ public void drawPixmap(PixmapEmu pixmap, int x, int y) {
}

public void drawPixmap(PixmapEmu pixmap, int x, int y, int srcx, int srcy, int srcWidth, int srcHeight) {
if(pixmap != null) {
this.pixmap.drawPixmap(pixmap.pixmap, srcx, srcy, x, y, srcWidth, srcHeight);
if(nativePixmap != null) {
this.nativePixmap.drawPixmap(pixmap.nativePixmap, srcx, srcy, x, y, srcWidth, srcHeight);
}
else {
HTMLCanvasElementWrapper image = pixmap.getCanvasElement();
Expand All @@ -395,53 +395,53 @@ public void drawPixmap(PixmapEmu pixmap, int x, int y, int srcx, int srcy, int s
}

public void drawPixmap(PixmapEmu pixmap, int srcx, int srcy, int srcWidth, int srcHeight, int dstx, int dsty, int dstWidth, int dstHeight) {
if(pixmap != null) {
this.pixmap.drawPixmap(pixmap.pixmap, srcx, srcy, srcWidth, srcHeight, dstx, dsty, dstWidth, dstHeight);
if(nativePixmap != null) {
this.nativePixmap.drawPixmap(pixmap.nativePixmap, srcx, srcy, srcWidth, srcHeight, dstx, dsty, dstWidth, dstHeight);
}
else {
image(pixmap.getCanvasElement(), srcx, srcy, srcWidth, srcHeight, dstx, dsty, dstWidth, dstHeight);
}
}

public void fillRectangle(int x, int y, int width, int height) {
if(pixmap != null) {
pixmap.fillRect(x, y, width, height, color);
if(nativePixmap != null) {
nativePixmap.fillRect(x, y, width, height, color);
}
else {
rectangle(x, y, width, height, DrawType.FILL);
}
}

public void drawCircle(int x, int y, int radius) {
if(pixmap != null) {
pixmap.drawCircle(x, y, radius, color);
if(nativePixmap != null) {
nativePixmap.drawCircle(x, y, radius, color);
}
else {
circle(x, y, radius, DrawType.STROKE);
}
}

public void fillCircle(int x, int y, int radius) {
if(pixmap != null) {
pixmap.fillCircle(x, y, radius, color);
if(nativePixmap != null) {
nativePixmap.fillCircle(x, y, radius, color);
}
else {
circle(x, y, radius, DrawType.FILL);
}
}

public void fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3) {
if(pixmap != null) {
pixmap.fillTriangle(x1, y1, x2, y2, x3, y3, color);
if(nativePixmap != null) {
nativePixmap.fillTriangle(x1, y1, x2, y2, x3, y3, color);
}
else {
triangle(x1, y1, x2, y2, x3, y3, DrawType.FILL);
}
}

public int getPixel(int x, int y) {
if(pixmap != null) {
return pixmap.getPixel(x, y);
if(nativePixmap != null) {
return nativePixmap.getPixel(x, y);
}
else {
ensureCanvasExists();
Expand All @@ -456,17 +456,17 @@ public int getPixel(int x, int y) {
}

public int getWidth() {
if(pixmap != null) {
return pixmap.getWidth();
if(nativePixmap != null) {
return nativePixmap.getWidth();
}
else {
return width;
}
}

public int getHeight() {
if(pixmap != null) {
return pixmap.getHeight();
if(nativePixmap != null) {
return nativePixmap.getHeight();
}
else {
return height;
Expand All @@ -477,8 +477,8 @@ public int getHeight() {
public void dispose() {
if (disposed) throw new GdxRuntimeException("Pixmap already disposed!");
pixmaps.remove(id);
if(pixmap != null) {
pixmap.dispose();
if(nativePixmap != null) {
nativePixmap.dispose();
}
disposed = true;
}
Expand All @@ -488,17 +488,17 @@ public boolean isDisposed () {
}

public void drawPixel(int x, int y) {
if(pixmap != null) {
pixmap.setPixel(x, y, color);
if(nativePixmap != null) {
nativePixmap.setPixel(x, y, color);
}
else {
rectangle(x, y, 1, 1, DrawType.FILL);
}
}

public void drawPixel(int x, int y, int color) {
if(pixmap != null) {
pixmap.setPixel(x, y, color);
if(nativePixmap != null) {
nativePixmap.setPixel(x, y, color);
}
else {
setColor(color);
Expand All @@ -507,22 +507,22 @@ public void drawPixel(int x, int y, int color) {
}

public int getGLFormat () {
if(pixmap != null) {
return pixmap.getGLFormat();
if(nativePixmap != null) {
return nativePixmap.getGLFormat();
}
return GL20.GL_RGBA;
}

public int getGLInternalFormat () {
if(pixmap != null) {
return pixmap.getGLInternalFormat();
if(nativePixmap != null) {
return nativePixmap.getGLInternalFormat();
}
return GL20.GL_RGBA;
}

public int getGLType () {
if(pixmap != null) {
return pixmap.getGLType();
if(nativePixmap != null) {
return nativePixmap.getGLType();
}
return GL20.GL_UNSIGNED_BYTE;
}
Expand All @@ -532,9 +532,9 @@ public ByteBuffer getPixels() {
}

public void setPixels(ByteBuffer pixels) {
if(pixmap != null) {
if(nativePixmap != null) {
if (!pixels.isDirect()) throw new GdxRuntimeException("Couldn't setPixels from non-direct ByteBuffer");
Uint8ArrayWrapper dst = pixmap.getPixels();
Uint8ArrayWrapper dst = nativePixmap.getPixels();
//TODO find a way to use byteBuffer
// BufferUtils.copy(pixels, dst, dst.limit())
}
Expand All @@ -552,16 +552,16 @@ public void setPixels(ByteBuffer pixels) {
}

public Pixmap.Format getFormat () {
if(pixmap != null) {
return Pixmap.Format.fromGdx2DPixmapFormat(pixmap.getFormat());
if(nativePixmap != null) {
return Pixmap.Format.fromGdx2DPixmapFormat(nativePixmap.getFormat());
}
return Pixmap.Format.RGBA8888;
}

public void setFilter(Pixmap.Filter filter) {
this.filter = filter;
if(pixmap != null) {
pixmap.setScale(filter == Pixmap.Filter.NearestNeighbour ? Gdx2DPixmapEmu.GDX2D_SCALE_NEAREST : Gdx2DPixmapEmu.GDX2D_SCALE_LINEAR);
if(nativePixmap != null) {
nativePixmap.setScale(filter == Pixmap.Filter.NearestNeighbour ? Gdx2DPixmapEmu.GDX2D_SCALE_NEAREST : Gdx2DPixmapEmu.GDX2D_SCALE_LINEAR);
}
}

Expand All @@ -571,8 +571,8 @@ public Pixmap.Filter getFilter() {

public void setBlending(Pixmap.Blending blending) {
this.blending = blending;
if(pixmap != null) {
pixmap.setBlend(blending == Pixmap.Blending.None ? 0 : 1);
if(nativePixmap != null) {
nativePixmap.setBlend(blending == Pixmap.Blending.None ? 0 : 1);
}
else {
this.ensureCanvasExists();
Expand Down
Loading
Loading