From 649d08cb126b427c9f673dfd51b29d48f5e5751d Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 1 May 2016 00:13:18 -0400 Subject: [PATCH] Fix resizable --- .../runelite/inject/callbacks/RSCanvasCallback.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/inject/callbacks/RSCanvasCallback.java b/runelite-client/src/main/java/net/runelite/inject/callbacks/RSCanvasCallback.java index f15a40e029..7edbf9e146 100644 --- a/runelite-client/src/main/java/net/runelite/inject/callbacks/RSCanvasCallback.java +++ b/runelite-client/src/main/java/net/runelite/inject/callbacks/RSCanvasCallback.java @@ -8,11 +8,19 @@ import net.runelite.client.ui.overlay.OverlayRenderer; public class RSCanvasCallback { - private final BufferedImage clientBuffer = new BufferedImage(765, 503, BufferedImage.TYPE_INT_RGB); - private final BufferedImage gameBuffer = new BufferedImage(765, 503, BufferedImage.TYPE_INT_RGB); + private static final int WIDTH = 765, HEIGHT = 503; + + private BufferedImage clientBuffer = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); + private BufferedImage gameBuffer = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); public Graphics getGraphics(Canvas canvas, Graphics superGraphics) { + if (canvas.getHeight() != clientBuffer.getHeight() || canvas.getWidth() != gameBuffer.getWidth()) + { + clientBuffer = new BufferedImage(canvas.getWidth(), canvas.getHeight(), BufferedImage.TYPE_INT_RGB); + gameBuffer = new BufferedImage(canvas.getWidth(), canvas.getHeight(), BufferedImage.TYPE_INT_RGB); + } + Graphics clientGraphics = clientBuffer.getGraphics(); clientGraphics.drawImage(gameBuffer, 0, 0, null); clientGraphics.dispose();