From f59c0be7f3d69df094c1bcfe157f3ecfb5fecdf8 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Mon, 17 Jun 2019 00:40:52 -0600 Subject: [PATCH] runelite-client: centralize item sprite dimensions --- .../src/main/java/net/runelite/api/Constants.java | 11 +++++++++++ .../java/net/runelite/client/game/ItemManager.java | 3 ++- .../client/plugins/banktags/tabs/TabInterface.java | 9 ++++++++- .../inventoryviewer/InventoryViewerOverlay.java | 6 +++--- .../client/plugins/itemstats/ItemStatPlugin.java | 5 +++-- .../plugins/timetracking/OverviewItemPanel.java | 3 ++- .../client/plugins/timetracking/TimeablePanel.java | 3 ++- 7 files changed, 31 insertions(+), 9 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Constants.java b/runelite-api/src/main/java/net/runelite/api/Constants.java index ffb2c1ba66..87e6fd65bb 100644 --- a/runelite-api/src/main/java/net/runelite/api/Constants.java +++ b/runelite-api/src/main/java/net/runelite/api/Constants.java @@ -97,4 +97,15 @@ public class Constants * All game-play actions operate within multiples of this duration. */ public static final int GAME_TICK_LENGTH = 600; + + /** + * Width of a standard item sprite + */ + public static final int ITEM_SPRITE_WIDTH = 36; + + /** + * Height of a standard item sprite + */ + public static final int ITEM_SPRITE_HEIGHT = 32; + } diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java index 0f21a5b434..bbc07771c2 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java @@ -44,6 +44,7 @@ import javax.inject.Singleton; import lombok.Value; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; +import net.runelite.api.Constants; import static net.runelite.api.Constants.CLIENT_DEFAULT_ZOOM; import net.runelite.api.GameState; import net.runelite.api.ItemComposition; @@ -381,7 +382,7 @@ public class ItemManager */ private AsyncBufferedImage loadImage(int itemId, int quantity, boolean stackable) { - AsyncBufferedImage img = new AsyncBufferedImage(36, 32, BufferedImage.TYPE_INT_ARGB); + AsyncBufferedImage img = new AsyncBufferedImage(Constants.ITEM_SPRITE_WIDTH, Constants.ITEM_SPRITE_HEIGHT, BufferedImage.TYPE_INT_ARGB); clientThread.invoke(() -> { if (client.getGameState().ordinal() < GameState.LOGIN_SCREEN.ordinal()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java index e0b1af23eb..24f6564ab1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java @@ -50,6 +50,7 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.Getter; import net.runelite.api.Client; +import net.runelite.api.Constants; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemComposition; @@ -721,7 +722,13 @@ public class TabInterface if (tagTab.getIcon() == null) { - Widget icon = createGraphic(ColorUtil.wrapWithColorTag(tagTab.getTag(), HILIGHT_COLOR), -1, tagTab.getIconItemId(), 36, 32, bounds.x + 3, 1, false); + Widget icon = createGraphic( + ColorUtil.wrapWithColorTag(tagTab.getTag(), HILIGHT_COLOR), + -1, + tagTab.getIconItemId(), + Constants.ITEM_SPRITE_WIDTH, Constants.ITEM_SPRITE_HEIGHT, + bounds.x + 3, 1, + false); int clickmask = icon.getClickMask(); clickmask |= WidgetConfig.DRAG; clickmask |= WidgetConfig.DRAG_ON; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerOverlay.java index 7162be5290..f323b96afc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventoryviewer/InventoryViewerOverlay.java @@ -30,6 +30,7 @@ import java.awt.Point; import java.awt.image.BufferedImage; import javax.inject.Inject; import net.runelite.api.Client; +import net.runelite.api.Constants; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemComposition; @@ -44,9 +45,8 @@ import net.runelite.client.ui.overlay.components.PanelComponent; class InventoryViewerOverlay extends Overlay { private static final int INVENTORY_SIZE = 28; - private static final int PLACEHOLDER_WIDTH = 36; - private static final int PLACEHOLDER_HEIGHT = 32; - private static final ImageComponent PLACEHOLDER_IMAGE = new ImageComponent(new BufferedImage(PLACEHOLDER_WIDTH, PLACEHOLDER_HEIGHT, BufferedImage.TYPE_4BYTE_ABGR)); + private static final ImageComponent PLACEHOLDER_IMAGE = new ImageComponent( + new BufferedImage(Constants.ITEM_SPRITE_WIDTH, Constants.ITEM_SPRITE_HEIGHT, BufferedImage.TYPE_4BYTE_ABGR)); private final Client client; private final ItemManager itemManager; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java index d8facce32a..4f244d844b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java @@ -35,6 +35,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import net.runelite.api.Client; +import net.runelite.api.Constants; import net.runelite.api.FontID; import net.runelite.api.InventoryID; import net.runelite.api.Item; @@ -236,8 +237,8 @@ public class ItemStatPlugin extends Plugin Widget icon = invContainer.createChild(-1, WidgetType.GRAPHIC); icon.setOriginalX(8); icon.setOriginalY(yPos); - icon.setOriginalWidth(36); - icon.setOriginalHeight(32); + icon.setOriginalWidth(Constants.ITEM_SPRITE_WIDTH); + icon.setOriginalHeight(Constants.ITEM_SPRITE_HEIGHT); icon.setItemId(id); icon.setItemQuantityMode(0); icon.setBorderType(1); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/OverviewItemPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/OverviewItemPanel.java index 96cf62c6fc..47484a669d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/OverviewItemPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/OverviewItemPanel.java @@ -35,6 +35,7 @@ import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; +import net.runelite.api.Constants; import net.runelite.client.game.ItemManager; import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.FontManager; @@ -60,7 +61,7 @@ class OverviewItemPanel extends JPanel setBorder(new EmptyBorder(7, 7, 7, 7)); JLabel iconLabel = new JLabel(); - iconLabel.setMinimumSize(new Dimension(36, 32)); + iconLabel.setMinimumSize(new Dimension(Constants.ITEM_SPRITE_WIDTH, Constants.ITEM_SPRITE_HEIGHT)); itemManager.getImage(tab.getItemID()).addTo(iconLabel); add(iconLabel, BorderLayout.WEST); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeablePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeablePanel.java index 8bbb5ae4ab..c01f770063 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeablePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/TimeablePanel.java @@ -33,6 +33,7 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import lombok.Getter; +import net.runelite.api.Constants; import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.components.ThinProgressBar; @@ -58,7 +59,7 @@ public class TimeablePanel extends JPanel topContainer.setLayout(new BorderLayout()); topContainer.setBackground(ColorScheme.DARKER_GRAY_COLOR); - icon.setMinimumSize(new Dimension(36, 32)); + icon.setMinimumSize(new Dimension(Constants.ITEM_SPRITE_WIDTH, Constants.ITEM_SPRITE_HEIGHT)); JPanel infoPanel = new JPanel(); infoPanel.setBackground(ColorScheme.DARKER_GRAY_COLOR);