Merge remote-tracking branch 'runelite-extended/master' into PluginType
This commit is contained in:
@@ -1600,4 +1600,6 @@ public interface Client extends GameEngine
|
||||
NodeCache getItemCompositionCache();
|
||||
|
||||
EnumComposition getEnum(int id);
|
||||
|
||||
void draw2010Menu();
|
||||
}
|
||||
|
||||
@@ -292,6 +292,7 @@ public enum Varbits {
|
||||
*/
|
||||
NMZ_ABSORPTION(3956),
|
||||
NMZ_POINTS(3949),
|
||||
NMZ_OVERLOAD(3955),
|
||||
|
||||
/**
|
||||
* Blast Furnace
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (c) 2019, Ron Young <https://github.com/raiyni>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package net.runelite.api.events;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BeforeMenuRender
|
||||
{
|
||||
private boolean consumed;
|
||||
|
||||
public void consume()
|
||||
{
|
||||
this.consumed = true;
|
||||
}
|
||||
}
|
||||
@@ -47,6 +47,7 @@ import net.runelite.api.NullItemID;
|
||||
import net.runelite.api.RenderOverview;
|
||||
import net.runelite.api.Renderable;
|
||||
import net.runelite.api.WorldMapManager;
|
||||
import net.runelite.api.events.BeforeMenuRender;
|
||||
import net.runelite.api.events.BeforeRender;
|
||||
import net.runelite.api.events.GameTick;
|
||||
import net.runelite.api.hooks.Callbacks;
|
||||
@@ -508,4 +509,11 @@ public class Hooks implements Callbacks
|
||||
overlayManager.getItemWidgets().add(widgetItem);
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean drawMenu()
|
||||
{
|
||||
BeforeMenuRender event = new BeforeMenuRender();
|
||||
client.getCallbacks().post(event);
|
||||
return event.isConsumed();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -398,4 +398,4 @@ public class BarbarianAssaultPlugin extends Plugin {
|
||||
{
|
||||
return clockImage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ import net.runelite.client.util.Text;
|
||||
name = "BA Tools",
|
||||
description = "Custom tools for Barbarian Assault",
|
||||
tags = {"minigame", "overlay", "timer"},
|
||||
type = PluginType.UTILITY
|
||||
type = PluginType.PVM
|
||||
)
|
||||
public class BAToolsPlugin extends Plugin implements KeyListener
|
||||
{
|
||||
@@ -642,4 +642,4 @@ public class BAToolsPlugin extends Plugin implements KeyListener
|
||||
shiftDown = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ import java.util.concurrent.ScheduledExecutorService;
|
||||
@PluginDescriptor(
|
||||
name = "Equipment Inspector",
|
||||
enabledByDefault = false,
|
||||
type = PluginType.UTILITY
|
||||
type = PluginType.PVP
|
||||
)
|
||||
|
||||
@Slf4j
|
||||
@@ -226,4 +226,4 @@ public class EquipmentInspectorPlugin extends Plugin {
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@PluginDescriptor(
|
||||
name = "Hydra",
|
||||
name = "Hydra Helper",
|
||||
description = "Hydra Helper",
|
||||
tags = {"Hydra", "Helper"},
|
||||
type = PluginType.PVM
|
||||
@@ -144,4 +144,4 @@ public class HydraPlugin extends Plugin
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,4 +52,14 @@ public interface InterfaceStylesConfig extends Config
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "hdMenu",
|
||||
name = "High Detail menu",
|
||||
description = "Replaces game menu with the RuneScape High Detail mode design"
|
||||
)
|
||||
default boolean hdMenu()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -34,6 +34,7 @@ import net.runelite.api.Client;
|
||||
import net.runelite.api.HealthBarOverride;
|
||||
import net.runelite.api.SpriteID;
|
||||
import net.runelite.api.SpritePixels;
|
||||
import net.runelite.api.events.BeforeMenuRender;
|
||||
import net.runelite.api.events.ConfigChanged;
|
||||
import net.runelite.api.events.WidgetPositioned;
|
||||
import net.runelite.api.widgets.Widget;
|
||||
@@ -115,6 +116,16 @@ public class InterfaceStylesPlugin extends Plugin
|
||||
overrideHealthBars();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onBeforeMenuRender(BeforeMenuRender event)
|
||||
{
|
||||
if (config.hdMenu())
|
||||
{
|
||||
client.draw2010Menu();
|
||||
event.consume();
|
||||
}
|
||||
}
|
||||
|
||||
private void overrideSprites()
|
||||
{
|
||||
for (SpriteOverride spriteOverride : SpriteOverride.values())
|
||||
|
||||
@@ -36,7 +36,7 @@ import javax.inject.Inject;
|
||||
name = "PvP Looting Bag Viewer",
|
||||
description = "Add an overlay showing the contents of your looting bag",
|
||||
tags = {"alternate", "items", "overlay", "second"},
|
||||
type = PluginType.UTILITY,
|
||||
type = PluginType.PVP,
|
||||
enabledByDefault = false
|
||||
)
|
||||
public class LootingBagViewerPlugin extends Plugin
|
||||
|
||||
@@ -59,7 +59,7 @@ import net.runelite.client.util.WildcardMatcher;
|
||||
name = "Player Indicators",
|
||||
description = "Highlight players on-screen and/or on the minimap",
|
||||
tags = {"highlight", "minimap", "overlay", "players"},
|
||||
type = PluginType.UTILITY
|
||||
type = PluginType.PVP
|
||||
)
|
||||
public class PlayerIndicatorsPlugin extends Plugin
|
||||
{
|
||||
|
||||
@@ -21,11 +21,19 @@ import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
import net.runelite.client.plugins.PluginType;
|
||||
import net.runelite.client.ui.ClientToolbar;
|
||||
import net.runelite.client.ui.NavigationButton;
|
||||
import net.runelite.client.util.ImageUtil;
|
||||
|
||||
@PluginDescriptor(name="Account Switcher", description="Allow for a allows you to easily switch between multiple OSRS Accounts", tags={"profile", "account", "login", "log in"})
|
||||
@PluginDescriptor(
|
||||
|
||||
name="Account Switcher",
|
||||
description="Allow for a allows you to easily switch between multiple OSRS Accounts",
|
||||
tags={"profile", "account", "login", "log in"},
|
||||
type = PluginType.UTILITY
|
||||
)
|
||||
|
||||
public class ProfilesPlugin
|
||||
extends Plugin {
|
||||
@Inject
|
||||
|
||||
@@ -51,6 +51,7 @@ import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.game.ItemManager;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
import net.runelite.client.plugins.PluginType;
|
||||
import net.runelite.client.ui.overlay.OverlayManager;
|
||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||
|
||||
@@ -58,6 +59,7 @@ import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||
name = "PyramidPlunder",
|
||||
description = "Highlights doors and spear traps in pyramid plunder and adds a numerical timer",
|
||||
tags = {"pyramidplunder", "pyramid", "plunder", "overlay", "skilling", "thieving"},
|
||||
type = PluginType.UTILITY,
|
||||
enabledByDefault = false
|
||||
)
|
||||
|
||||
|
||||
@@ -74,6 +74,7 @@ import net.runelite.client.game.SpriteManager;
|
||||
import net.runelite.client.input.KeyManager;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
import net.runelite.client.plugins.PluginType;
|
||||
import net.runelite.client.plugins.raids.solver.Layout;
|
||||
import net.runelite.client.plugins.raids.solver.LayoutSolver;
|
||||
import net.runelite.client.plugins.raids.solver.RotationSolver;
|
||||
@@ -87,7 +88,8 @@ import net.runelite.client.util.HotkeyListener;
|
||||
@PluginDescriptor(
|
||||
name = "Chambers Of Xeric",
|
||||
description = "Show helpful information for the Chambers of Xeric raid",
|
||||
tags = {"combat", "raid", "overlay", "pve", "pvm", "bosses", "cox", "olm"}
|
||||
tags = {"combat", "raid", "overlay", "pve", "pvm", "bosses", "cox", "olm"},
|
||||
type = PluginType.PVM
|
||||
)
|
||||
@Slf4j
|
||||
public class RaidsPlugin extends Plugin
|
||||
|
||||
@@ -64,7 +64,7 @@ import java.awt.image.BufferedImage;
|
||||
name = "Supplies Used Tracker",
|
||||
description = "Tracks supplies used during the session",
|
||||
tags = {"cost"},
|
||||
type = PluginType.PVM,
|
||||
type = PluginType.UTILITY,
|
||||
enabledByDefault = false
|
||||
)
|
||||
@Slf4j
|
||||
|
||||
@@ -41,7 +41,7 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@PluginDescriptor(
|
||||
name = "Vetion",
|
||||
name = "Vetion Helper",
|
||||
description = "Tracks Vet'ion's special attacks",
|
||||
tags = {"bosses", "combat", "pve", "overlay"},
|
||||
type = PluginType.PVM
|
||||
|
||||
@@ -15,10 +15,10 @@ import net.runelite.client.ui.overlay.OverlayManager;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
@PluginDescriptor(
|
||||
name = "Vorkath",
|
||||
name = "Vorkath Helper",
|
||||
description = "Vorkath Helper",
|
||||
tags = {"Vorkath", "Helper"},
|
||||
type = PluginType.PVM
|
||||
type = PluginType.PVM
|
||||
)
|
||||
public class VorkathPlugin extends Plugin
|
||||
{
|
||||
|
||||
@@ -22,10 +22,10 @@ import net.runelite.client.ui.overlay.OverlayManager;
|
||||
import net.runelite.client.util.ImageUtil;
|
||||
|
||||
@PluginDescriptor(
|
||||
name = "Zulrah",
|
||||
name = "Zulrah Helper",
|
||||
description = "Zulrah Helper",
|
||||
tags = {"Zulrah", "Helper"},
|
||||
type = PluginType.PVM
|
||||
type = PluginType.PVM
|
||||
)
|
||||
public class ZulrahPlugin extends Plugin
|
||||
{
|
||||
|
||||
112
runelite-mixins/src/main/java/net/runelite/mixins/MenuMixin.java
Normal file
112
runelite-mixins/src/main/java/net/runelite/mixins/MenuMixin.java
Normal file
@@ -0,0 +1,112 @@
|
||||
/*
|
||||
* Copyright (c) 2019, Ron Young <https://github.com/raiyni>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package net.runelite.mixins;
|
||||
|
||||
import net.runelite.api.mixins.Inject;
|
||||
import net.runelite.api.mixins.Mixin;
|
||||
import net.runelite.rs.api.RSClient;
|
||||
import net.runelite.rs.api.RSFont;
|
||||
|
||||
@Mixin(RSClient.class)
|
||||
public abstract class MenuMixin implements RSClient
|
||||
{
|
||||
private static final int MENU_BORDER_OUTER_2010 = 0x6D6A5B;
|
||||
private static final int MENU_BORDER_INNER_2010 = 0x524A3D;
|
||||
private static final int MENU_PADDING_2010 = 0x2B2622;
|
||||
private static final int MENU_BACKGROUND_2010 = 0x2B271C;
|
||||
private static final int MENU_TEXT_2010 = 0xC6B895;
|
||||
private static final int MENU_HEADER_GRADIENT_TOP_2010 = 0x322E22;
|
||||
private static final int MENU_HEADER_GRADIENT_BOTTOM_2010 = 0x090A04;
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public void draw2010Menu()
|
||||
{
|
||||
int x = getMenuX();
|
||||
int y = getMenuY();
|
||||
int w = getMenuWidth();
|
||||
int h = getMenuHeight();
|
||||
|
||||
// Outside border
|
||||
RasterizerDrawHorizontalLine(x + 2, y, w - 4, MENU_BORDER_OUTER_2010);
|
||||
RasterizerDrawHorizontalLine(x + 2, y + h - 1, w - 4, MENU_BORDER_OUTER_2010);
|
||||
RasterizerDrawVerticalLine(x, y + 2, h - 4, MENU_BORDER_OUTER_2010);
|
||||
RasterizerDrawVerticalLine(x + w - 1, y + 2, h - 4, MENU_BORDER_OUTER_2010);
|
||||
|
||||
// Padding
|
||||
RasterizerDrawRectangle(x + 1, y + 5, w - 2, h - 6, MENU_PADDING_2010);
|
||||
RasterizerDrawHorizontalLine(x + 1, y + 17, w - 2, MENU_PADDING_2010);
|
||||
RasterizerDrawCircle(x + 2, y + h - 3, 0, MENU_PADDING_2010);
|
||||
RasterizerDrawCircle(x + w - 3, y + h - 3, 0, MENU_PADDING_2010);
|
||||
|
||||
// Header
|
||||
RasterizerDrawGradient(x + 2, y + 1, w - 4, 16, MENU_HEADER_GRADIENT_TOP_2010, MENU_HEADER_GRADIENT_BOTTOM_2010);
|
||||
RasterizerFillRectangle(x + 1, y + 1, 2, 4, MENU_PADDING_2010);
|
||||
RasterizerFillRectangle(x + w - 3, y + 1, 2, 4, MENU_PADDING_2010);
|
||||
|
||||
// Inside border
|
||||
RasterizerDrawHorizontalLine(x + 2, y + 18, w - 4, MENU_BORDER_INNER_2010);
|
||||
RasterizerDrawHorizontalLine(x + 3, y + h - 3, w - 6, MENU_BORDER_INNER_2010);
|
||||
RasterizerDrawVerticalLine(x + 2, y + 18, h - 21, MENU_BORDER_INNER_2010);
|
||||
RasterizerDrawVerticalLine(x + w - 3, y + 18, h - 21, MENU_BORDER_INNER_2010);
|
||||
|
||||
// Options background
|
||||
RasterizerFillRectangle(x + 3, y + 19, w - 6, h - 22, MENU_BACKGROUND_2010);
|
||||
|
||||
// Corner insets
|
||||
RasterizerDrawCircle(x + 1, y + 1, 0, MENU_BORDER_OUTER_2010);
|
||||
RasterizerDrawCircle(x + w - 2, y + 1, 0, MENU_BORDER_OUTER_2010);
|
||||
RasterizerDrawCircle(x + 1, y + h - 2, 0, MENU_BORDER_OUTER_2010);
|
||||
RasterizerDrawCircle(x + w - 2, y + h - 2, 0, MENU_BORDER_OUTER_2010);
|
||||
|
||||
RSFont font = getFontBold12();
|
||||
font.drawTextLeftAligned("Choose Option", x + 3, y + 14, MENU_TEXT_2010, -1);
|
||||
|
||||
int mouseX = getMouseX();
|
||||
int mouseY = getMouseY();
|
||||
|
||||
int count = getMenuOptionCount();
|
||||
String[] targets = getMenuTargets();
|
||||
String[] options = getMenuOptions();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
int rowY = y + (count - 1 - i) * 15 + 31;
|
||||
|
||||
String s = options[i];
|
||||
if (!targets[i].isEmpty())
|
||||
{
|
||||
s += " " + targets[i];
|
||||
}
|
||||
|
||||
font.drawTextLeftAligned(s, x + 3, rowY, MENU_TEXT_2010, -1);
|
||||
|
||||
// Highlight current option
|
||||
if (mouseX > x && mouseX < w + x && mouseY > rowY - 13 && mouseY < rowY + 3)
|
||||
{
|
||||
RasterizerFillRectangleAlpha(x + 3, rowY - 12, w - 6, 15, 0xffffff, 80);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -932,4 +932,37 @@ public interface RSClient extends RSGameEngine, Client
|
||||
|
||||
@Import("getEnum")
|
||||
RSEnum getRsEnum(int id);
|
||||
|
||||
@Import("menuX")
|
||||
int getMenuX();
|
||||
|
||||
@Import("menuY")
|
||||
int getMenuY();
|
||||
|
||||
@Import("menuHeight")
|
||||
int getMenuHeight();
|
||||
|
||||
@Import("menuWidth")
|
||||
int getMenuWidth();
|
||||
|
||||
@Import("fontBold12")
|
||||
RSFont getFontBold12();
|
||||
|
||||
@Import("drawHorizontalLine")
|
||||
void RasterizerDrawHorizontalLine(int x, int y, int w, int rgb);
|
||||
|
||||
@Import("drawVerticalLine")
|
||||
void RasterizerDrawVerticalLine(int x, int y, int h, int rgb);
|
||||
|
||||
@Import("drawGradient")
|
||||
void RasterizerDrawGradient(int x, int y, int w, int h, int rgbTop, int rgbBottom);
|
||||
|
||||
@Import("fillRectangleAlpha")
|
||||
void RasterizerFillRectangleAlpha(int x, int y, int w, int h, int rgb, int a);
|
||||
|
||||
@Import("drawRectangle")
|
||||
void RasterizerDrawRectangle(int x, int y, int w, int h, int rgb);
|
||||
|
||||
@Import("drawCircle")
|
||||
void RasterizerDrawCircle(int x, int y, int r, int rgb);
|
||||
}
|
||||
|
||||
30
runescape-api/src/main/java/net/runelite/rs/api/RSFont.java
Normal file
30
runescape-api/src/main/java/net/runelite/rs/api/RSFont.java
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Copyright (c) 2019, Ron Young <https://github.com/raiyni>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package net.runelite.rs.api;
|
||||
|
||||
public interface RSFont extends RSFontTypeFace
|
||||
{
|
||||
}
|
||||
@@ -36,4 +36,7 @@ public interface RSFontTypeFace extends FontTypeFace
|
||||
@Import("verticalSpace")
|
||||
@Override
|
||||
int getBaseline();
|
||||
|
||||
@Import("drawTextLeftAligned")
|
||||
void drawTextLeftAligned(String text, int x, int y, int fontColor, int shadowColor);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user