Updated 2D rendering methods to use anti-aliasing for smoother overlays

Also added a centralised function in Renderer for setting anti-aliasing
This commit is contained in:
Kronos
2017-04-20 08:47:31 +10:00
parent 470c747568
commit 1fd4d11866
4 changed files with 10 additions and 1 deletions

View File

@@ -44,6 +44,7 @@ public class DynamicRenderer implements Renderer
for (Overlay overlay : overlays)
{
Graphics2D graphics = clientBuffer.createGraphics();
Renderer.setAntiAliasing(graphics);
overlay.render(graphics);
graphics.dispose();
}

View File

@@ -24,9 +24,16 @@
*/
package net.runelite.client.ui.overlay;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
public interface Renderer
{
void render(BufferedImage clientBuffer);
static void setAntiAliasing(Graphics2D graphics)
{
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
}
}

View File

@@ -54,6 +54,7 @@ public class TopDownRendererLeft implements Renderer
{
BufferedImage image = clientBuffer.getSubimage(BORDER_LEFT, y, clientBuffer.getWidth() - BORDER_LEFT, clientBuffer.getHeight() - y);//(int) dimension.getWidth(), (int) dimension.getHeight());
Graphics2D graphics = image.createGraphics();
Renderer.setAntiAliasing(graphics);
Dimension dimension = overlay.render(graphics);
graphics.dispose();

View File

@@ -56,8 +56,8 @@ public class TopDownRendererRight implements Renderer
for (Overlay overlay : overlays)
{
BufferedImage image = clientBuffer.getSubimage(BORDER_RIGHT, y, client.getClientWidth(), 25);
Graphics2D graphics = image.createGraphics();
Renderer.setAntiAliasing(graphics);
Dimension dimension = overlay.render(graphics);
graphics.dispose();