runelite-client: centralize item sprite dimensions

This commit is contained in:
Max Weber
2019-06-17 00:40:52 -06:00
committed by Adam
parent 42d76a3636
commit f59c0be7f3
7 changed files with 31 additions and 9 deletions

View File

@@ -97,4 +97,15 @@ public class Constants
* All game-play actions operate within multiples of this duration. * All game-play actions operate within multiples of this duration.
*/ */
public static final int GAME_TICK_LENGTH = 600; 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;
} }

View File

@@ -44,6 +44,7 @@ import javax.inject.Singleton;
import lombok.Value; import lombok.Value;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Constants;
import static net.runelite.api.Constants.CLIENT_DEFAULT_ZOOM; import static net.runelite.api.Constants.CLIENT_DEFAULT_ZOOM;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.ItemComposition; import net.runelite.api.ItemComposition;
@@ -381,7 +382,7 @@ public class ItemManager
*/ */
private AsyncBufferedImage loadImage(int itemId, int quantity, boolean stackable) 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(() -> clientThread.invoke(() ->
{ {
if (client.getGameState().ordinal() < GameState.LOGIN_SCREEN.ordinal()) if (client.getGameState().ordinal() < GameState.LOGIN_SCREEN.ordinal())

View File

@@ -50,6 +50,7 @@ import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Constants;
import net.runelite.api.InventoryID; import net.runelite.api.InventoryID;
import net.runelite.api.Item; import net.runelite.api.Item;
import net.runelite.api.ItemComposition; import net.runelite.api.ItemComposition;
@@ -721,7 +722,13 @@ public class TabInterface
if (tagTab.getIcon() == null) 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(); int clickmask = icon.getClickMask();
clickmask |= WidgetConfig.DRAG; clickmask |= WidgetConfig.DRAG;
clickmask |= WidgetConfig.DRAG_ON; clickmask |= WidgetConfig.DRAG_ON;

View File

@@ -30,6 +30,7 @@ import java.awt.Point;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Constants;
import net.runelite.api.InventoryID; import net.runelite.api.InventoryID;
import net.runelite.api.Item; import net.runelite.api.Item;
import net.runelite.api.ItemComposition; import net.runelite.api.ItemComposition;
@@ -44,9 +45,8 @@ import net.runelite.client.ui.overlay.components.PanelComponent;
class InventoryViewerOverlay extends Overlay class InventoryViewerOverlay extends Overlay
{ {
private static final int INVENTORY_SIZE = 28; private static final int INVENTORY_SIZE = 28;
private static final int PLACEHOLDER_WIDTH = 36; private static final ImageComponent PLACEHOLDER_IMAGE = new ImageComponent(
private static final int PLACEHOLDER_HEIGHT = 32; new BufferedImage(Constants.ITEM_SPRITE_WIDTH, Constants.ITEM_SPRITE_HEIGHT, BufferedImage.TYPE_4BYTE_ABGR));
private static final ImageComponent PLACEHOLDER_IMAGE = new ImageComponent(new BufferedImage(PLACEHOLDER_WIDTH, PLACEHOLDER_HEIGHT, BufferedImage.TYPE_4BYTE_ABGR));
private final Client client; private final Client client;
private final ItemManager itemManager; private final ItemManager itemManager;

View File

@@ -35,6 +35,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Constants;
import net.runelite.api.FontID; import net.runelite.api.FontID;
import net.runelite.api.InventoryID; import net.runelite.api.InventoryID;
import net.runelite.api.Item; import net.runelite.api.Item;
@@ -236,8 +237,8 @@ public class ItemStatPlugin extends Plugin
Widget icon = invContainer.createChild(-1, WidgetType.GRAPHIC); Widget icon = invContainer.createChild(-1, WidgetType.GRAPHIC);
icon.setOriginalX(8); icon.setOriginalX(8);
icon.setOriginalY(yPos); icon.setOriginalY(yPos);
icon.setOriginalWidth(36); icon.setOriginalWidth(Constants.ITEM_SPRITE_WIDTH);
icon.setOriginalHeight(32); icon.setOriginalHeight(Constants.ITEM_SPRITE_HEIGHT);
icon.setItemId(id); icon.setItemId(id);
icon.setItemQuantityMode(0); icon.setItemQuantityMode(0);
icon.setBorderType(1); icon.setBorderType(1);

View File

@@ -35,6 +35,7 @@ import javax.swing.ImageIcon;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.border.EmptyBorder; import javax.swing.border.EmptyBorder;
import net.runelite.api.Constants;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
@@ -60,7 +61,7 @@ class OverviewItemPanel extends JPanel
setBorder(new EmptyBorder(7, 7, 7, 7)); setBorder(new EmptyBorder(7, 7, 7, 7));
JLabel iconLabel = new JLabel(); 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); itemManager.getImage(tab.getItemID()).addTo(iconLabel);
add(iconLabel, BorderLayout.WEST); add(iconLabel, BorderLayout.WEST);

View File

@@ -33,6 +33,7 @@ import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.border.EmptyBorder; import javax.swing.border.EmptyBorder;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.Constants;
import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.components.ThinProgressBar; import net.runelite.client.ui.components.ThinProgressBar;
@@ -58,7 +59,7 @@ public class TimeablePanel<T> extends JPanel
topContainer.setLayout(new BorderLayout()); topContainer.setLayout(new BorderLayout());
topContainer.setBackground(ColorScheme.DARKER_GRAY_COLOR); 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(); JPanel infoPanel = new JPanel();
infoPanel.setBackground(ColorScheme.DARKER_GRAY_COLOR); infoPanel.setBackground(ColorScheme.DARKER_GRAY_COLOR);