runelite-client: fix infoboxes
Infobox overlay is not created by the injector so client was not being injected Fixed from 403f7bd5d7a3d514a9dcec067cfdba622e3361b0
This commit is contained in:
@@ -28,11 +28,18 @@ import java.awt.Graphics2D;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import net.runelite.api.Client;
|
||||||
|
|
||||||
public class DynamicRenderer implements Renderer
|
public class DynamicRenderer implements Renderer
|
||||||
{
|
{
|
||||||
|
private final Client client;
|
||||||
private final List<Overlay> overlays = new ArrayList<>();
|
private final List<Overlay> overlays = new ArrayList<>();
|
||||||
|
|
||||||
|
public DynamicRenderer(Client client)
|
||||||
|
{
|
||||||
|
this.client = client;
|
||||||
|
}
|
||||||
|
|
||||||
public void add(Overlay overlay)
|
public void add(Overlay overlay)
|
||||||
{
|
{
|
||||||
overlays.add(overlay);
|
overlays.add(overlay);
|
||||||
@@ -43,7 +50,7 @@ public class DynamicRenderer implements Renderer
|
|||||||
{
|
{
|
||||||
for (Overlay overlay : overlays)
|
for (Overlay overlay : overlays)
|
||||||
{
|
{
|
||||||
if (!overlay.isDrawn())
|
if (!overlay.shouldDraw(client))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
Graphics2D graphics = clientBuffer.createGraphics();
|
Graphics2D graphics = clientBuffer.createGraphics();
|
||||||
|
|||||||
@@ -22,17 +22,14 @@
|
|||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.runelite.client.ui.overlay;
|
package net.runelite.client.ui.overlay;
|
||||||
|
|
||||||
import net.runelite.api.Client;
|
|
||||||
import net.runelite.api.GameState;
|
|
||||||
import net.runelite.api.widgets.WidgetInfo;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
|
import net.runelite.api.Client;
|
||||||
|
import net.runelite.api.GameState;
|
||||||
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
|
|
||||||
public abstract class Overlay
|
public abstract class Overlay
|
||||||
{
|
{
|
||||||
@@ -43,9 +40,6 @@ public abstract class Overlay
|
|||||||
private boolean drawOverBankScreen = false;
|
private boolean drawOverBankScreen = false;
|
||||||
private boolean drawOverClickToPlayScreen = false;
|
private boolean drawOverClickToPlayScreen = false;
|
||||||
|
|
||||||
@Inject
|
|
||||||
Client client;
|
|
||||||
|
|
||||||
public Overlay(OverlayPosition position)
|
public Overlay(OverlayPosition position)
|
||||||
{
|
{
|
||||||
this(position, OverlayPriority.NONE);
|
this(position, OverlayPriority.NONE);
|
||||||
@@ -89,10 +83,12 @@ public abstract class Overlay
|
|||||||
this.bounds = bounds;
|
this.bounds = bounds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDrawn()
|
public boolean shouldDraw(Client client)
|
||||||
{
|
{
|
||||||
if (client == null)
|
if (client == null)
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
if (!drawOverLoginScreen && client.getGameState() != GameState.LOGGED_IN)
|
if (!drawOverLoginScreen && client.getGameState() != GameState.LOGGED_IN)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -56,9 +56,9 @@ public class OverlayRenderer
|
|||||||
|
|
||||||
public void render(BufferedImage clientBuffer)
|
public void render(BufferedImage clientBuffer)
|
||||||
{
|
{
|
||||||
TopDownRendererLeft tdl = new TopDownRendererLeft();
|
TopDownRendererLeft tdl = new TopDownRendererLeft(client);
|
||||||
TopDownRendererRight tdr = new TopDownRendererRight(client);
|
TopDownRendererRight tdr = new TopDownRendererRight(client);
|
||||||
DynamicRenderer dr = new DynamicRenderer();
|
DynamicRenderer dr = new DynamicRenderer(client);
|
||||||
for (Plugin plugin : pluginManager.getPlugins())
|
for (Plugin plugin : pluginManager.getPlugins())
|
||||||
{
|
{
|
||||||
for (Overlay overlay : plugin.getOverlays())
|
for (Overlay overlay : plugin.getOverlays())
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import java.awt.Rectangle;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import net.runelite.api.Client;
|
||||||
|
|
||||||
public class TopDownRendererLeft implements Renderer
|
public class TopDownRendererLeft implements Renderer
|
||||||
{
|
{
|
||||||
@@ -37,8 +38,14 @@ public class TopDownRendererLeft implements Renderer
|
|||||||
private static final int BORDER_LEFT = 10;
|
private static final int BORDER_LEFT = 10;
|
||||||
private static final int PADDING = 10;
|
private static final int PADDING = 10;
|
||||||
|
|
||||||
|
private final Client client;
|
||||||
private final List<Overlay> overlays = new ArrayList<>();
|
private final List<Overlay> overlays = new ArrayList<>();
|
||||||
|
|
||||||
|
public TopDownRendererLeft(Client client)
|
||||||
|
{
|
||||||
|
this.client = client;
|
||||||
|
}
|
||||||
|
|
||||||
public void add(Overlay overlay)
|
public void add(Overlay overlay)
|
||||||
{
|
{
|
||||||
overlays.add(overlay);
|
overlays.add(overlay);
|
||||||
@@ -52,7 +59,7 @@ public class TopDownRendererLeft implements Renderer
|
|||||||
|
|
||||||
for (Overlay overlay : overlays)
|
for (Overlay overlay : overlays)
|
||||||
{
|
{
|
||||||
if (!overlay.isDrawn())
|
if (!overlay.shouldDraw(client))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
BufferedImage image = clientBuffer.getSubimage(BORDER_LEFT, y, clientBuffer.getWidth() - BORDER_LEFT, clientBuffer.getHeight() - y);
|
BufferedImage image = clientBuffer.getSubimage(BORDER_LEFT, y, clientBuffer.getWidth() - BORDER_LEFT, clientBuffer.getHeight() - y);
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class TopDownRendererRight implements Renderer
|
|||||||
|
|
||||||
for (Overlay overlay : overlays)
|
for (Overlay overlay : overlays)
|
||||||
{
|
{
|
||||||
if (!overlay.isDrawn())
|
if (!overlay.shouldDraw(client))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
BufferedImage image = new BufferedImage(clientWidth, clientHeight, BufferedImage.TYPE_INT_ARGB);
|
BufferedImage image = new BufferedImage(clientWidth, clientHeight, BufferedImage.TYPE_INT_ARGB);
|
||||||
|
|||||||
Reference in New Issue
Block a user