Files
2025-03-06 01:53:19 -05:00

120 lines
2.5 KiB
Java

package noppes.npcs.api.gui;
/**
* Represents a clickable button component in a custom GUI.
* Provides methods to control size, label, texture, and state.
*/
public interface IButton extends ICustomGuiComponent {
/**
* Returns the button's width.
*
* @return the width in pixels.
*/
int getWidth();
/**
* Returns the button's height.
*
* @return the height in pixels.
*/
int getHeight();
/**
* Sets the size of the button.
*
* @param width the new width in pixels.
* @param height the new height in pixels.
* @return this button instance.
*/
IButton setSize(int width, int height);
/**
* Returns the button's label text.
*
* @return the label.
*/
String getLabel();
/**
* Sets the button's label text.
*
* @param text the new label.
* @return this button instance.
*/
IButton setLabel(String text);
/**
* Returns the texture resource location for this button.
*
* @return the texture location as a string.
*/
String getTexture();
/**
* Checks if the button has an assigned texture.
*
* @return true if a texture is set; false otherwise.
*/
boolean hasTexture();
/**
* Sets the texture resource location for this button.
*
* @param texture the texture resource location.
* @return this button instance.
*/
IButton setTexture(String texture);
/**
* Returns the X offset within the texture.
*
* @return the texture X offset.
*/
int getTextureX();
/**
* Returns the Y offset within the texture.
*
* @return the texture Y offset.
*/
int getTextureY();
/**
* Sets the texture offset (X and Y) for this button.
*
* @param textureX the new X offset.
* @param textureY the new Y offset.
* @return this button instance.
*/
IButton setTextureOffset(int textureX, int textureY);
/**
* Sets the scale factor of the button.
*
* @param scale the scale factor.
*/
void setScale(float scale);
/**
* Returns the scale factor of the button.
*
* @return the scale.
*/
float getScale();
/**
* Enables or disables the button.
*
* @param enabled true to enable; false to disable.
*/
void setEnabled(boolean enabled);
/**
* Checks if the button is enabled.
*
* @return true if enabled; false otherwise.
*/
boolean isEnabled();
}