project: Mixins

This commit is contained in:
Owain van Brakel
2022-01-26 01:20:51 +01:00
parent 1a8e75e9b9
commit 7179aa26a0
2 changed files with 389 additions and 79 deletions

View File

@@ -24,6 +24,10 @@
*/ */
package net.runelite.mixins; package net.runelite.mixins;
import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.runelite.api.HashTable; import net.runelite.api.HashTable;
import net.runelite.api.Node; import net.runelite.api.Node;
import net.runelite.api.Point; import net.runelite.api.Point;
@@ -37,6 +41,8 @@ import net.runelite.api.mixins.Mixin;
import net.runelite.api.mixins.Replace; import net.runelite.api.mixins.Replace;
import net.runelite.api.mixins.Shadow; import net.runelite.api.mixins.Shadow;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import static net.runelite.api.widgets.WidgetInfo.TO_CHILD;
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
import net.runelite.api.widgets.WidgetItem; import net.runelite.api.widgets.WidgetItem;
import net.runelite.rs.api.RSClient; import net.runelite.rs.api.RSClient;
import net.runelite.rs.api.RSModel; import net.runelite.rs.api.RSModel;
@@ -45,12 +51,6 @@ import net.runelite.rs.api.RSNodeHashTable;
import net.runelite.rs.api.RSPlayerComposition; import net.runelite.rs.api.RSPlayerComposition;
import net.runelite.rs.api.RSSequenceDefinition; import net.runelite.rs.api.RSSequenceDefinition;
import net.runelite.rs.api.RSWidget; import net.runelite.rs.api.RSWidget;
import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static net.runelite.api.widgets.WidgetInfo.TO_CHILD;
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
@Mixin(RSWidget.class) @Mixin(RSWidget.class)
public abstract class RSWidgetMixin implements RSWidget public abstract class RSWidgetMixin implements RSWidget
@@ -240,9 +240,11 @@ public abstract class RSWidgetMixin implements RSWidget
@Inject @Inject
@Override @Override
public void setName(String name) public Widget setName(String name)
{ {
setRSName(name.replace(' ', '\u00A0')); setRSName(name.replace(' ', '\u00A0'));
return this;
} }
@Inject @Inject
@@ -596,4 +598,346 @@ public abstract class RSWidgetMixin implements RSWidget
return new Point(dragOffsetX, dragOffsetY); return new Point(dragOffsetX, dragOffsetY);
} }
@Inject
@Override
public Widget setClickMask(int mask)
{
this.rs$setClickMask(mask);
return this;
}
@Inject
@Override
public Widget setModelId(int modelId)
{
this.rs$setModelId(modelId);
return this;
}
@Inject
@Override
public Widget setModelType(int modelType)
{
this.rs$setModelType(modelType);
return this;
}
@Inject
@Override
public Widget setAnimationId(int animationId)
{
this.rs$setAnimationId(animationId);
return this;
}
@Inject
@Override
public Widget setText(String text)
{
this.rs$setText(text);
return this;
}
@Inject
@Override
public Widget setTextColor(int textColor)
{
this.rs$setTextColor(textColor);
return this;
}
@Inject
@Override
public Widget setOpacity(int opacity)
{
this.rs$setOpacity(opacity);
return this;
}
@Inject
@Override
public Widget setHidden(boolean hidden)
{
this.rs$setHidden(hidden);
return this;
}
@Inject
@Override
public Widget setRotationX(int rotationX)
{
this.rs$setRotationX(rotationX);
return this;
}
@Inject
@Override
public Widget setRotationY(int rotationY)
{
this.rs$setRotationY(rotationY);
return this;
}
@Inject
@Override
public Widget setRotationZ(int rotationZ)
{
this.rs$setRotationZ(rotationZ);
return this;
}
@Inject
@Override
public Widget setModelZoom(int modelZoom)
{
this.rs$setModelZoom(modelZoom);
return this;
}
@Inject
@Override
public Widget setContentType(int contentType)
{
this.rs$setContentType(contentType);
return this;
}
@Inject
@Override
public Widget setScrollX(int scrollX)
{
this.rs$setScrollX(scrollX);
return this;
}
@Inject
@Override
public Widget setScrollY(int scrollY)
{
this.rs$setScrollY(scrollY);
return this;
}
@Inject
@Override
public Widget setScrollWidth(int width)
{
this.rs$setScrollWidth(width);
return this;
}
@Inject
@Override
public Widget setScrollHeight(int height)
{
this.rs$setScrollHeight(height);
return this;
}
@Inject
@Override
public Widget setSpriteId(int spriteId)
{
this.rs$setSpriteId(spriteId);
return this;
}
@Inject
@Override
public Widget setSpriteTiling(boolean tiling)
{
this.rs$setSpriteTiling(tiling);
return this;
}
@Inject
@Override
public Widget setItemId(int itemId)
{
this.rs$setItemId(itemId);
return this;
}
@Inject
@Override
public Widget setItemQuantity(int quantity)
{
this.rs$setItemQuantity(quantity);
return this;
}
@Inject
@Override
public Widget setOriginalX(int originalX)
{
this.rs$setOriginalX(originalX);
return this;
}
@Inject
@Override
public Widget setOriginalY(int originalY)
{
this.rs$setOriginalY(originalY);
return this;
}
@Inject
@Override
public Widget setOriginalHeight(int originalHeight)
{
this.rs$setOriginalHeight(originalHeight);
return this;
}
@Inject
@Override
public Widget setOriginalWidth(int originalWidth)
{
this.rs$setOriginalWidth(originalWidth);
return this;
}
@Inject
@Override
public Widget setHasListener(boolean hasListener)
{
this.rs$setHasListener(hasListener);
return this;
}
@Inject
@Override
public Widget setFontId(int id)
{
this.rs$setFontId(id);
return this;
}
@Inject
@Override
public Widget setTextShadowed(boolean shadowed)
{
this.rs$setTextShadowed(shadowed);
return this;
}
@Inject
@Override
public Widget setItemQuantityMode(int itemQuantityMode)
{
this.rs$setItemQuantityMode(itemQuantityMode);
return this;
}
@Inject
@Override
public Widget setXPositionMode(int xpm)
{
this.rs$setXPositionMode(xpm);
return this;
}
@Inject
@Override
public Widget setYPositionMode(int ypm)
{
this.rs$setYPositionMode(ypm);
return this;
}
@Inject
@Override
public Widget setXTextAlignment(int xta)
{
this.rs$setXTextAlignment(xta);
return this;
}
@Inject
@Override
public Widget setYTextAlignment(int yta)
{
this.rs$setYTextAlignment(yta);
return this;
}
@Inject
@Override
public Widget setWidthMode(int widthMode)
{
this.rs$setWidthMode(widthMode);
return this;
}
@Inject
@Override
public Widget setHeightMode(int heightMode)
{
this.rs$setHeightMode(heightMode);
return this;
}
@Inject
@Override
public Widget setFilled(boolean filled)
{
this.rs$setFilled(filled);
return this;
}
@Inject
@Override
public Widget setDragParent(Widget dragParent)
{
this.rs$setDragParent(dragParent);
return this;
}
@Inject
@Override
public Widget setLineHeight(int height)
{
this.rs$setLineHeight(height);
return this;
}
} }

View File

@@ -64,7 +64,7 @@ public interface RSWidget extends Widget
int getClickMask(); int getClickMask();
@Import("flags") @Import("flags")
void setClickMask(int mask); void rs$setClickMask(int mask);
//@Import("boundsIndex") -- unused for now //@Import("boundsIndex") -- unused for now
//int getBoundsIndex(); //int getBoundsIndex();
@@ -74,8 +74,7 @@ public interface RSWidget extends Widget
int getModelId(); int getModelId();
@Import("modelId") @Import("modelId")
@Override void rs$setModelId(int modelId);
void setModelId(int modelId);
@Import("itemIds") @Import("itemIds")
int[] getItemIds(); int[] getItemIds();
@@ -87,13 +86,13 @@ public interface RSWidget extends Widget
int getModelType(); int getModelType();
@Import("modelType") @Import("modelType")
void setModelType(int modelType); void rs$setModelType(int modelType);
@Import("sequenceId") @Import("sequenceId")
int getAnimationId(); int getAnimationId();
@Import("sequenceId") @Import("sequenceId")
void setAnimationId(int animationId); void rs$setAnimationId(int animationId);
@Import("actions") @Import("actions")
@Override @Override
@@ -119,24 +118,21 @@ public interface RSWidget extends Widget
void setRSName(String name); void setRSName(String name);
@Import("text") @Import("text")
@Override void rs$setText(String text);
void setText(String text);
@Import("color") @Import("color")
@Override @Override
int getTextColor(); int getTextColor();
@Import("color") @Import("color")
@Override void rs$setTextColor(int textColor);
void setTextColor(int textColor);
@Import("transparencyTop") @Import("transparencyTop")
@Override @Override
int getOpacity(); int getOpacity();
@Import("transparencyTop") @Import("transparencyTop")
@Override void rs$setOpacity(int opacity);
void setOpacity(int opacity);
@Import("x") @Import("x")
@Override @Override
@@ -175,7 +171,7 @@ public interface RSWidget extends Widget
boolean isSelfHidden(); boolean isSelfHidden();
@Import("isHidden") @Import("isHidden")
void setHidden(boolean hidden); void rs$setHidden(boolean hidden);
@Import("childIndex") @Import("childIndex")
int getIndex(); int getIndex();
@@ -188,40 +184,34 @@ public interface RSWidget extends Widget
int getRotationX(); int getRotationX();
@Import("modelAngleX") @Import("modelAngleX")
@Override void rs$setRotationX(int rotationX);
void setRotationX(int rotationX);
@Import("modelAngleZ") // Do not change @Import("modelAngleZ") // Do not change
@Override @Override
int getRotationY(); int getRotationY();
@Import("modelAngleZ") // Do not change @Import("modelAngleZ") // Do not change
@Override void rs$setRotationY(int rotationY);
void setRotationY(int rotationY);
@Import("modelAngleY") // Do not change @Import("modelAngleY") // Do not change
@Override
int getRotationZ(); int getRotationZ();
@Import("modelAngleY") // Do not change @Import("modelAngleY") // Do not change
@Override void rs$setRotationZ(int rotationZ);
void setRotationZ(int rotationZ);
@Import("modelZoom") @Import("modelZoom")
@Override @Override
int getModelZoom(); int getModelZoom();
@Import("modelZoom") @Import("modelZoom")
@Override void rs$setModelZoom(int modelZoom);
void setModelZoom(int modelZoom);
@Import("contentType") @Import("contentType")
@Override @Override
int getContentType(); int getContentType();
@Import("contentType") @Import("contentType")
@Override void rs$setContentType(int contentType);
void setContentType(int contentType);
@Import("type") @Import("type")
@Override @Override
@@ -240,48 +230,42 @@ public interface RSWidget extends Widget
int getScrollX(); int getScrollX();
@Import("scrollX") @Import("scrollX")
@Override void rs$setScrollX(int scrollX);
void setScrollX(int scrollX);
@Import("scrollY") @Import("scrollY")
@Override @Override
int getScrollY(); int getScrollY();
@Import("scrollY") @Import("scrollY")
@Override void rs$setScrollY(int scrollY);
void setScrollY(int scrollY);
@Import("scrollWidth") @Import("scrollWidth")
@Override @Override
int getScrollWidth(); int getScrollWidth();
@Import("scrollWidth") @Import("scrollWidth")
@Override void rs$setScrollWidth(int width);
void setScrollWidth(int width);
@Import("scrollHeight") @Import("scrollHeight")
@Override @Override
int getScrollHeight(); int getScrollHeight();
@Import("scrollHeight") @Import("scrollHeight")
@Override void rs$setScrollHeight(int height);
void setScrollHeight(int height);
@Import("spriteId2") @Import("spriteId2")
@Override @Override
int getSpriteId(); int getSpriteId();
@Import("spriteId2") @Import("spriteId2")
@Override void rs$setSpriteId(int spriteId);
void setSpriteId(int spriteId);
@Import("spriteTiling") @Import("spriteTiling")
@Override @Override
boolean getSpriteTiling(); boolean getSpriteTiling();
@Import("spriteTiling") @Import("spriteTiling")
@Override void rs$setSpriteTiling(boolean tiling);
void setSpriteTiling(boolean tiling);
@Import("outline") @Import("outline")
@Override @Override
@@ -296,48 +280,42 @@ public interface RSWidget extends Widget
int getItemId(); int getItemId();
@Import("itemId") @Import("itemId")
@Override void rs$setItemId(int itemId);
void setItemId(int itemId);
@Import("itemQuantity") @Import("itemQuantity")
@Override @Override
int getItemQuantity(); int getItemQuantity();
@Import("itemQuantity") @Import("itemQuantity")
@Override void rs$setItemQuantity(int quantity);
void setItemQuantity(int quantity);
@Import("rawX") @Import("rawX")
@Override @Override
int getOriginalX(); int getOriginalX();
@Import("rawX") @Import("rawX")
@Override void rs$setOriginalX(int originalX);
void setOriginalX(int originalX);
@Import("rawY") @Import("rawY")
@Override @Override
int getOriginalY(); int getOriginalY();
@Import("rawY") @Import("rawY")
@Override void rs$setOriginalY(int originalY);
void setOriginalY(int originalY);
@Import("rawHeight") @Import("rawHeight")
@Override @Override
int getOriginalHeight(); int getOriginalHeight();
@Import("rawHeight") @Import("rawHeight")
@Override void rs$setOriginalHeight(int originalHeight);
void setOriginalHeight(int originalHeight);
@Import("rawWidth") @Import("rawWidth")
@Override @Override
int getOriginalWidth(); int getOriginalWidth();
@Import("rawWidth") @Import("rawWidth")
@Override void rs$setOriginalWidth(int originalWidth);
void setOriginalWidth(int originalWidth);
@Import("paddingX") @Import("paddingX")
int getPaddingX(); int getPaddingX();
@@ -374,8 +352,7 @@ public interface RSWidget extends Widget
boolean hasListener(); boolean hasListener();
@Import("hasListener") @Import("hasListener")
@Override void rs$setHasListener(boolean hasListener);
void setHasListener(boolean hasListener);
@Import("onKey") @Import("onKey")
@Override @Override
@@ -426,16 +403,14 @@ public interface RSWidget extends Widget
int getFontId(); int getFontId();
@Import("fontId") @Import("fontId")
@Override void rs$setFontId(int id);
void setFontId(int id);
@Import("textShadowed") @Import("textShadowed")
@Override @Override
boolean getTextShadowed(); boolean getTextShadowed();
@Import("textShadowed") @Import("textShadowed")
@Override void rs$setTextShadowed(boolean shadowed);
void setTextShadowed(boolean shadowed);
@Import("dragZoneSize") @Import("dragZoneSize")
@Override @Override
@@ -458,56 +433,49 @@ public interface RSWidget extends Widget
int getItemQuantityMode(); int getItemQuantityMode();
@Import("itemQuantityMode") @Import("itemQuantityMode")
@Override void rs$setItemQuantityMode(int itemQuantityMode);
void setItemQuantityMode(int itemQuantityMode);
@Import("xAlignment") @Import("xAlignment")
@Override @Override
int getXPositionMode(); int getXPositionMode();
@Import("xAlignment") @Import("xAlignment")
@Override void rs$setXPositionMode(int xpm);
void setXPositionMode(int xpm);
@Import("yAlignment") @Import("yAlignment")
@Override @Override
int getYPositionMode(); int getYPositionMode();
@Import("yAlignment") @Import("yAlignment")
@Override void rs$setYPositionMode(int ypm);
void setYPositionMode(int ypm);
@Import("textXAlignment") @Import("textXAlignment")
@Override @Override
int getXTextAlignment(); int getXTextAlignment();
@Import("textXAlignment") @Import("textXAlignment")
@Override void rs$setXTextAlignment(int xta);
void setXTextAlignment(int xta);
@Import("textYAlignment") @Import("textYAlignment")
@Override @Override
int getYTextAlignment(); int getYTextAlignment();
@Import("textYAlignment") @Import("textYAlignment")
@Override void rs$setYTextAlignment(int yta);
void setYTextAlignment(int yta);
@Import("widthAlignment") @Import("widthAlignment")
@Override @Override
int getWidthMode(); int getWidthMode();
@Import("widthAlignment") @Import("widthAlignment")
@Override void rs$setWidthMode(int widthMode);
void setWidthMode(int widthMode);
@Import("heightAlignment") @Import("heightAlignment")
@Override @Override
int getHeightMode(); int getHeightMode();
@Import("heightAlignment") @Import("heightAlignment")
@Override void rs$setHeightMode(int heightMode);
void setHeightMode(int heightMode);
@Import("getFont") @Import("getFont")
@Override @Override
@@ -518,8 +486,7 @@ public interface RSWidget extends Widget
boolean isFilled(); boolean isFilled();
@Import("fill") @Import("fill")
@Override void rs$setFilled(boolean filled);
void setFilled(boolean filled);
@Import("spellActionName") @Import("spellActionName")
@Override @Override
@@ -591,8 +558,7 @@ public interface RSWidget extends Widget
RSWidget getDragParent(); RSWidget getDragParent();
@Import("parent") @Import("parent")
@Override void rs$setDragParent(Widget dragParent);
void setDragParent(Widget dragParent);
@Import("onVarTransmit") @Import("onVarTransmit")
@Override @Override
@@ -609,7 +575,7 @@ public interface RSWidget extends Widget
int getLineHeight(); int getLineHeight();
@Import("textLineHeight") @Import("textLineHeight")
void setLineHeight(int height); void rs$setLineHeight(int height);
void broadcastHidden(boolean hidden); void broadcastHidden(boolean hidden);
} }