From 0ca9039c2976fefa74fbeaff13d60ea3f4e4ad68 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 20 Feb 2023 14:09:35 +0800 Subject: [PATCH] cleanup pixmap --- .../src/forge/adventure/util/DrawOnPixmap.java | 11 ++++++----- .../src/forge/adventure/util/RewardActor.java | 8 ++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/util/DrawOnPixmap.java b/forge-gui-mobile/src/forge/adventure/util/DrawOnPixmap.java index c794b6577e9..481a400f71e 100644 --- a/forge-gui-mobile/src/forge/adventure/util/DrawOnPixmap.java +++ b/forge-gui-mobile/src/forge/adventure/util/DrawOnPixmap.java @@ -32,7 +32,7 @@ public abstract class DrawOnPixmap { BitmapFont font = bigText ? Controls.getBitmapFont("big") : Controls.getBitmapFont("default"); FrameBuffer frameBuffer = new FrameBuffer(Pixmap.Format.RGB888, drawingMap.getWidth(), drawingMap.getHeight(), false); - SpriteBatch batch=new SpriteBatch(); + SpriteBatch batch = new SpriteBatch(); frameBuffer.begin(); @@ -46,16 +46,17 @@ public abstract class DrawOnPixmap { batch.begin(); //Rendering ends here. Create a new Pixmap to Texture with mipmaps, otherwise will render as full black. Texture texture = new Texture(drawingMap); - batch.draw(texture,0,0); + batch.draw(texture, 0, 0); font.setColor(color); - font.draw(batch,itemText,x,y,width, Align.center,true); + font.draw(batch, itemText, x, y, width, Align.center, true); batch.end(); - drawingMap.drawPixmap(Pixmap.createFromFrameBuffer(0, 0, drawingMap.getWidth(), drawingMap.getHeight()),0,0); + Pixmap pixmap = Pixmap.createFromFrameBuffer(0, 0, drawingMap.getWidth(), drawingMap.getHeight()); + drawingMap.drawPixmap(pixmap, 0, 0); frameBuffer.end(); texture.dispose(); batch.dispose(); + pixmap.dispose(); if (bigText) //don't know why this is needed to circumvent bug getting default size for the same pixelfont Controls.getBitmapFont("default"); - } } diff --git a/forge-gui-mobile/src/forge/adventure/util/RewardActor.java b/forge-gui-mobile/src/forge/adventure/util/RewardActor.java index d10acba5811..1ffd1bf3a97 100644 --- a/forge-gui-mobile/src/forge/adventure/util/RewardActor.java +++ b/forge-gui-mobile/src/forge/adventure/util/RewardActor.java @@ -484,10 +484,12 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb g.end(); g.endClip(); //Rendering ends here. Create a new Pixmap to Texture with mipmaps, otherwise will render as full black. - Texture result = new Texture(Pixmap.createFromFrameBuffer(0, 0, preview_w, preview_h), Forge.isTextureFilteringEnabled()); + Pixmap pixmap = Pixmap.createFromFrameBuffer(0, 0, preview_w, preview_h); + Texture result = new Texture(pixmap, Forge.isTextureFilteringEnabled()); frameBuffer.end(); g.dispose(); frameBuffer.dispose(); + pixmap.dispose(); return result; } @@ -519,7 +521,9 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb } getGraphics().end(); getGraphics().endClip(); - generatedTooltip = new Texture(Pixmap.createFromFrameBuffer(0, 0, preview_w, preview_h), Forge.isTextureFilteringEnabled()); + Pixmap pixmap = Pixmap.createFromFrameBuffer(0, 0, preview_w, preview_h); + generatedTooltip = new Texture(pixmap, Forge.isTextureFilteringEnabled()); + pixmap.dispose(); } catch (Exception e) { //e.printStackTrace(); } finally {