From: Kevin Lamonte Date: Sun, 4 Aug 2019 19:36:07 +0000 (-0500) Subject: Fix drawing glitch X-Git-Url: https://git.nikiroo.be/?a=commitdiff_plain;h=74bbd9bc0e25466aa5984efeef033f887caf58fb;p=nikiroo-utils.git Fix drawing glitch --- diff --git a/src/jexer/tterminal/Sixel.java b/src/jexer/tterminal/Sixel.java index 6a10b7a..1921f44 100644 --- a/src/jexer/tterminal/Sixel.java +++ b/src/jexer/tterminal/Sixel.java @@ -117,6 +117,11 @@ public class Sixel { */ private int x = 0; + /** + * The maximum y drawn to. This will set the final image height. + */ + private int y = 0; + /** * The current drawing color. */ @@ -152,7 +157,7 @@ public class Sixel { */ public BufferedImage getImage() { if ((width > 0) && (height > 0)) { - return image.getSubimage(0, 0, width, height + 6); + return image.getSubimage(0, 0, width, y + 1); } return null; } @@ -282,21 +287,27 @@ public class Sixel { for (int i = 0; i < rep; i++) { if ((n & 0x01) != 0) { image.setRGB(x, height + 0, rgb); + y = Math.max(y, height); } if ((n & 0x02) != 0) { image.setRGB(x, height + 1, rgb); + y = Math.max(y, height + 1); } if ((n & 0x04) != 0) { image.setRGB(x, height + 2, rgb); + y = Math.max(y, height + 2); } if ((n & 0x08) != 0) { image.setRGB(x, height + 3, rgb); + y = Math.max(y, height + 3); } if ((n & 0x10) != 0) { image.setRGB(x, height + 4, rgb); + y = Math.max(y, height + 4); } if ((n & 0x20) != 0) { image.setRGB(x, height + 5, rgb); + y = Math.max(y, height + 5); } x++; if (x > width) {