ImageButton.java

net.minecraft.client.gui.components.ImageButton

信息

  • 全限定名:net.minecraft.client.gui.components.ImageButton
  • 类型:public class
  • 包:net.minecraft.client.gui.components
  • 源码路径:src/main/java/net/minecraft/client/gui/components/ImageButton.java
  • 起始行号:L12
  • 继承:Button
  • 职责:

    TODO

字段/常量

  • sprites
    • 类型: WidgetSprites
    • 修饰符: protected final
    • 源码定位: L13
    • 说明:

      TODO

内部类/嵌套类型

构造器

public ImageButton(int x, int y, int width, int height, WidgetSprites sprites, Button.OnPress onPress) @ L15

  • 构造器名:ImageButton
  • 源码定位:L15
  • 修饰符:public

参数:

  • x: int
  • y: int
  • width: int
  • height: int
  • sprites: WidgetSprites
  • onPress: Button.OnPress

说明:

TODO

public ImageButton(int width, int height, WidgetSprites sprites, Button.OnPress onPress, Component message) @ L19

  • 构造器名:ImageButton
  • 源码定位:L19
  • 修饰符:public

参数:

  • width: int
  • height: int
  • sprites: WidgetSprites
  • onPress: Button.OnPress
  • message: Component

说明:

TODO

public ImageButton(int x, int y, int width, int height, WidgetSprites sprites, Button.OnPress onPress, Component message) @ L23

  • 构造器名:ImageButton
  • 源码定位:L23
  • 修饰符:public

参数:

  • x: int
  • y: int
  • width: int
  • height: int
  • sprites: WidgetSprites
  • onPress: Button.OnPress
  • message: Component

说明:

TODO

方法

下面的方法块按源码顺序生成。

public void extractContents(GuiGraphicsExtractor graphics, int mouseX, int mouseY, float a) @ L28

  • 方法名:extractContents
  • 源码定位:L28
  • 返回类型:void
  • 修饰符:public

参数:

  • graphics: GuiGraphicsExtractor
  • mouseX: int
  • mouseY: int
  • a: float

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class ImageButton extends Button {
    protected final WidgetSprites sprites;
 
    public ImageButton(int x, int y, int width, int height, WidgetSprites sprites, Button.OnPress onPress) {
        this(x, y, width, height, sprites, onPress, CommonComponents.EMPTY);
    }
 
    public ImageButton(int width, int height, WidgetSprites sprites, Button.OnPress onPress, Component message) {
        this(0, 0, width, height, sprites, onPress, message);
    }
 
    public ImageButton(int x, int y, int width, int height, WidgetSprites sprites, Button.OnPress onPress, Component message) {
        super(x, y, width, height, message, onPress, DEFAULT_NARRATION);
        this.sprites = sprites;
    }
 
    @Override
    public void extractContents(GuiGraphicsExtractor graphics, int mouseX, int mouseY, float a) {
        Identifier sprite = this.sprites.get(this.isActive(), this.isHoveredOrFocused());
        graphics.blitSprite(RenderPipelines.GUI_TEXTURED, sprite, this.getX(), this.getY(), this.width, this.height);
    }
}

引用的其他类